我正在用PyQt5编写一个项目。现在我已经这样做了,当您单击按钮时,会在主窗口的顶部打开一个弹出窗口。
我需要确保当弹出窗口打开时,主窗口是关闭的,也就是说,实际上弹出窗口变成了主窗口。
我不知道如何实现它。close(), 和方法deleteLater()关闭两个窗口。
我附上代码。预先感谢大家的帮助。
from PyQt5.QtWidgets import *
from PyQt5 import QtCore
class Window(QMainWindow):
def __init__(self):
QMainWindow.__init__(self)
button1 = QPushButton(self)
button1.clicked.connect(self.handleNewWindow)
def handleNewWindow(self):
window1 = QMainWindow(self)
window1.setAttribute(QtCore.Qt.WA_DeleteOnClose)
window1.setWindowTitle(self.tr('New Window'))
window1.setGeometry(450, 200, 800, 600)
window1.show()
if __name__ == '__main__':
import sys
app = QApplication(sys.argv)
window = Window()
window.setGeometry(450,200,800,600)
window.show()
sys.exit(app.exec_())
不要
self.window1从Window.使对象成为
self.window1类的属性。添加
self.hide()主文件