Найти - Пользователи
Полная версия: Как заставит PyQt4 программу подождать?
Начало » GUI » Как заставит PyQt4 программу подождать?
1 2
gmorgunov
Кстати, я вчера проверял singleShot. Похоже в Qt4 - пашет, в Pyqt4 - нет.
Вот это( из assistant):
#include <QApplication>
#include <QTimer>

int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QTimer::singleShot(5000, &app, SLOT(quit()));
...
return app.exec();
}
Работает. А аналог на Pyqt4 - нет(окно сразу пропадает). :/
ice
хм. У меня работает singleShot

Ровно через 5 секунд выходит приложение.
import sys
from PyQt4 import QtCore, QtGui

app = QtGui.QApplication(sys.argv)
label = QtGui.QLabel("GUI")
label.show()

timer = QtCore.QTimer.singleShot(5000, quit)

app.exec_()
poltergeist
В своём последнем посте я имел в виду сказать, что ни “QtCore.QThread.msleep(10000)” ни “QtCore.QProcess.execute(QtCore.QString(”/bin/sleep 5“))” не катят, так как останавливают event loop, и нет смысла делать эти задержки до старта GUI. QtCore.QTimer.singleShot работает конечно же, но только после запуска event loop (app.ecec_()).
gmorgunov
Да singleShot работает. Вчера ошибся впопыхах.:/ Вот ошибочный код:
import sys
from PyQt4 import QtCore,QtGui

app = QtGui.QApplication(sys.argv)
label = QtGui.QLabel("GUI")

print "wait 5 seconds"
QtCore.QTimer.singleShot(5000,app,QtCore.SLOT(quit()))
print "5 seconds passed"

label.show()
sys.exit(app.exec_())
124bit
пасиба, ща попробую
ZZZ
Некоторое время назад я написал это.
Тема похожая, может поможет.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB