Можно ли обновить QListWidget после добавления? - PullRequest
1 голос
/ 16 декабря 2011

Я добавляю элемент в QListWidget, и хотя я могу получить подробности о предмете из QListQidget, новый элемент никогда не появляется на экране.Можно ли обновить QListWidget, чтобы он обновлялся для отображения более нового содержимого?

>>>myQListWidget.addItem("Hello")
>>>print self.myQListWidget.item(0).text()
Hello

Я делаю это на Python, но если у вас есть решение на C ++, я могу легко преобразовать его.

Спасибо!

- Эрин

Ответы [ 2 ]

1 голос
/ 16 декабря 2011

Вы можете обновить виджет, вызвав update() или repaint(), вторая функция асинхронна и заставляет виджет обновляться немедленно. Но QListWidget должен обновляться автоматически после вставки без вызова каких-либо дополнительных функций, в противном случае проблема может заключаться в том, что Qt не может обрабатывать события рисования. Тогда вам нужно позвонить QCoreApplication::processEvents(), но я не уверен, что это ваша проблема.

0 голосов
/ 16 декабря 2011

Хм ... Я не вижу такого поведения.

import sys
from PyQt4 import QtCore
from PyQt4 import QtGui
a = QtGui.QApplication(sys.argv)
w = QtGui.QListWidget()
w.setWindowTitle('example')
w.show()
w.addItem("test 1")          # shows up
w.addItem("test 2")          # also shows up

РЕДАКТИРОВАТЬ: Удалены шевроны, чтобы код можно было скопировать / вставить

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...