Как создать список из видимых элементов в QListWidget

У меня есть qlistwidget, в котором скрыто большинство элементов.

Количество элементов, отображаемых в виджете, определяется вводом пользователя.

Я хотел бы иметь возможность взять показанные элементы в qlistwidget и превратить их в список.

Иногда будет показано 3/4 элемента.

Как я могу составить список из 3 пунктов, показанных в qlistwidget?

Иллюстрация проблемы:

      Qlistwidget window: 
------------------
| item 1         |
| item 2         |
| item 3(hidden) |
| item 4         |
|                |
|                |
|                |
------------------

pseudocode:

list_of_visible_items = []

for item in Qlistwidget window:
    if item not hidden:
        list_of_visible_items.append(item)
    
print(list_of_visible_items)

[item 1, item 2, item 4]

1 ответ

Решение

Если вы хотите получить тексты видимых элементов, вам просто нужно перебрать элементы, проверить их видимость и получить текст:

      results = []
for row in range(listwidget.count()):
    item = listwidget.item(row)
    if not item.isHidden():
        text = item.text()
        results.append(text)
print(results)
Другие вопросы по тегам