Как открыть окно

Следующий код должен закрыть текущий файл и снова открыть его. Вместо этого он открывает только новые окна.

Есть ли у кого-нибудь намек на закрытие старого окна?

import sys from PyQt4 import QtGui, QtCore import subprocess class Example(QtGui.QWidget): def __init__(self): super(Example, self).__init__() self.initUI() def run(self, path): subprocess.call(['python',path]) def initUI(self): self.close() self.btn_newSearch = QtGui.QPushButton('Start', self) self.btn_newSearch.clicked.connect(lambda:self.run('tests.py')) self.setGeometry(300, 300, 250, 150) self.setWindowTitle('Python Script') self.show() def main(): app = QtGui.QApplication(sys.argv) ex = Example() sys.exit(app.exec_()) if __name__ == '__main__': main() 

One Solution collect form web for “Как открыть окно”

Кажется, вы поставили self.close() в неправильном месте. Кроме того, вы не должны использовать subprocess.call , поскольку он будет блокироваться до тех пор, пока команда не завершится. QProcess этого лучше использовать QProcess :

  def run(self, path): QtCore.QProcess.startDetached('python', [path]) self.close() def initUI(self): self.btn_newSearch = QtGui.QPushButton('Start', self) ... 
Python - лучший язык программирования в мире.