簡體   English   中英

如何重新開啟視窗

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM