2012-01-11 2 views
0

LS, Я разрабатываю приложение, которое читает текст с веб-страницы. Пока текст обрабатывается в приложении, окно приложения (gui) показывает, что «приложение не отвечает» (переведено с голландского предупреждения). Однако приложение не заморожено, потому что я вижу, что оно печатает в окне консоли. Приложение gui разработано в дизайне Qt и преобразовано в код python 2.7 на win7 64 бит. Как заставить приложение обновить окно и обновить его? БлагодаряОкно приложения update (repaint)

ответ

1

Вот несколько способов сделать это:

  • Позвоните время потребляя функции в отдельном thread или создать timer. Базовый пример с QTimer.singleShot:

    QTimer.singleShot(1, your_time_consuming_function) 
    
  • Вызов QCoreApplication.processEvents() в цикле обработки текста.

Если все время затрачено на извлечение страницы, рассмотрите возможность использования таймера или потока.

+0

Спасибо, QCoreApplication.processEvents() поддерживает обновление графического интерфейса пользователя. – ArtDijk

+0

Я думаю, что первый способ (таймер одиночного выстрела) не может работать – Winand

Смежные вопросы