Я использую Python 2.4.3 и Qt Designer для создания графического интерфейса. Когда я нажимаю одну из своих кнопок, она отключается и выполняет несколько последовательных процессов. После каждого процесса я хочу обновить пользователя, выведя текст в графический интерфейс, однако, этот текст не появляется, пока я не завершил все мои процессы. Я видел другие вопросы по этой же проблеме, где рекомендуется processEvents(). Тупой вопрос, какой модуль мне нужно импортировать, чтобы получить функцию processEvents(), которая сделает эту работу, или есть ли для Python 2.4.3? Я работаю на компьютере Red Hat Linux. Заранее спасибо.Прерывание процесса в Qt для обновления GUI
ответ
Я работаю в C++, то этот ответ не готов к использованию, но я решил моя похожая проблема крафта маленький помощник для вызова из цикла
#include <QTimer>
#include <QEventLoop>
inline void do_events(int delay = 1) {
QEventLoop lp;
QTimer::singleShot(delay, &lp, SLOT(quit()));
lp.exec();
}
это позволяет Qt для обработки его события. Его название опасно ностальгия VB раза ...
Qt.qApp
или QApplication.instance()
дает QApplication
объекта, который имеет processEvents
, что вы можете позвонить.
СПАСИБО. Это работает. Я поставил «import qt» в верхней части подпрограммы, а затем поместил «qt.qApp.processEvents()» после каждого из моих элементов, которые я хотел распечатать. – user3005501
@ user3005501: Рад, что это помогло! Здесь, в Stack Overflow, мы ожидаем, что вы пометите ответ как принятый, если он решит вашу проблему, и ответы на голосование, которые вы считаете полезными и информативными. – Macke
- 1. Задание Qt GUI для обновления
- 2. Прерывание процесса в Erlang
- 3. GUI для процесса сборки
- 4. Qt GUI QTreeView/QTableView обновления крайне медленно
- 5. Использование QT для GUI C++
- 6. Qt Gui для последовательной связи
- 7. Qt GUI в библиотеке?
- 8. GUI в Qt OR GUI в Android
- 9. QT widgets vs QT GUI
- 10. Прерывание при размещении процесса в очереди ожидания
- 11. Использование QT для мониторинга процесса?
- 12. Установить приоритет для потока GUI в Qt
- 13. Обработчик Android для обновления GUI
- 14. Triggering Java GUI для обновления
- 15. пакет обновления для JMeter Gui
- 16. QGLWidget для графики и QT для GUI
- 17. Qt-запрос программирования GUI
- 18. qt GUI connect
- 19. Qt GUI Application Linux
- 20. Динамически манипулировать Qt GUI
- 21. Простой qt gui; повторяющийся виджет
- 22. Qt - GUI freezing
- 23. qt C++ gui 'on_lineEdit'
- 24. qt элементы обновления gui, не работающие с Golang
- 25. C++ Pointer GUI QT
- 26. Форма процесса для обновления записей
- 27. Stretchable gui in Qt
- 28. Быстрое обновление многих виджетов в Qt GUI
- 29. Вложение участка в Qt gui
- 30. Do Gui тестирование в Qt
Последовательные процессы должны выполняться в другом потоке; 'processEvents()' является обходным в этом случае. –
вам лучше было бы расщепить каждый процесс и заставить их запускать друг друга через слоты, чтобы цикл событий мог запускаться между ними или использовать другой поток, который сигнализирует о потоке gui. –
Ratchet Freak - мне нравится эта идея. Я просто попробовал, но я не мог понять, как соединить слоты вместе; поэтому я создал 3 слота и вызвал их все, чтобы произойти, когда была нажата кнопка запуска. К счастью, он выполнил все три в том порядке, в котором они указаны в QT Designer. Однако он не обновлял графический интерфейс до тех пор, пока последний не был закончен, поэтому он не работал. Поэтому, я думаю, мне все равно нужно знать, как запустить слот, как только он закончит. – user3005501