[英]How to reopen window
以下代碼應關閉當前文件,然后再次打開它。 相反,它將繼續僅打開新窗口。
有沒有人暗示過要關閉舊窗口?
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()
您似乎將self.close()
放在錯誤的位置。 另外,您不應使用subprocess.call
,因為它將在命令完成之前阻塞。 最好改用QProcess
:
def run(self, path):
QtCore.QProcess.startDetached('python', [path])
self.close()
def initUI(self):
self.btn_newSearch = QtGui.QPushButton('Start', self)
...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.