Ситуация такая: пытаюсь сделать чтото вроде окошка вывода в pyqt4, и управлять им из приложения, но ни каким образом не получается взаимодействовать с этим окном и изменять в нём информацию. Код следующий:
class Ui_MainWindow(object): def setupUi(self, MainWindow): ... self.textEdit = QtGui.QTextEdit(self.centralwidget) self.textEdit.setGeometry(QtCore.QRect(-2, -4, 362, 490)) ... def setText(self, string): self.textEdit.setText(string) class MyWidget (QtGui.QMainWindow, Ui_MainWindow): def __init__(self,parent=None,selected=[],flag=0,*args): QtGui.QWidget.__init__(self,parent,*args) self.setupUi(self) app = QtGui.QApplication(sys.argv) widget = MyWidget(None) widget.setText("SomeString1") widget.show() time.sleep(2) widget.setText("SomeString2") time.sleep(2) widget.setText("SomeString3") sys.exit(app.exec_()) widget.setText("SomeString4")
widget.show() выполнен, и создаётся впечатление, что я сначала должен увидеть надпись “SomeString1”, через 2 секунды “SomeString2”, еще через 2 секунды “SomeString3”, но этого не происходит. Попытка выводить текст после команды “sys.exit(app.exec_())” также ни к чему не приводит, т.к. выполнение приложения останавливается на этой команде до закрытия окна.
Я также попробовал запустить окно отдельным потоком, но pyqt не даёт этого сделать.
Как же правильно организовать подобную работу окна, чтобы можно было изменять его содержимое из программы?
Используется pyqt4 и python27.