Я хотел бы знать, что происходит точно, когда я вызываю метод update() QWidget.
Вот документация:Обновление виджета Qt позже, но когда?
http://doc.qt.digia.com/4.5/qwidget.html#update
Эта функция не вызывает немедленной перерисовке; вместо этого он планирует событие рисования для обработки , когда Qt возвращается к основному событию цикл. Это позволяет Qt оптимизировать для больше скорости и меньше мерцания, чем вызов перерисовать().
Я вижу из исходного кода Qt, что QUpdateLaterEvent создаются и размещает с типом QEvent :: UpdateLater
В этой части документации http://doc.qt.digia.com/4.5/qevent.html
QEvent :: UpdateLater : Виджет должен быть поставлен в очередь, чтобы перекрасить его позже на .
Что означает «позднее время»?
Являются ли все мои очереди в очереди сигналами и событиями в очереди событий, обработанными перед краской?
Спасибо,
Габор
Вы можете использовать метод «QWidget :: repaint()» для обеспечения того, чтобы ваш виджет был перекрашен. Или это не вариант для вас? – cybevnm
Нет, это не вариант. Я выделяю очереди в другом потоке, что приводит к обновлению виджета.Я излучаю несколько таких сигналов друг за другом, и я хочу быть уверенным, что сигналы в очереди обрабатываются до обновления и не обновляются несколько раз. – Vereb