Форум сайта python.su
Кстати, я вчера проверял 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();
}
Отредактировано (Ноя. 24, 2008 14:22:27)
Офлайн
хм. У меня работает 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_()
Офлайн
В своём последнем посте я имел в виду сказать, что ни “QtCore.QThread.msleep(10000)” ни “QtCore.QProcess.execute(QtCore.QString(”/bin/sleep 5“))” не катят, так как останавливают event loop, и нет смысла делать эти задержки до старта GUI. QtCore.QTimer.singleShot работает конечно же, но только после запуска event loop (app.ecec_()).
Офлайн
Да 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_())
Офлайн
пасиба, ща попробую
Офлайн
Некоторое время назад я написал это.
Тема похожая, может поможет.
Офлайн