我用QtDesigner创建了我所有的窗口,主窗口使用mdiArea,这样当调用时,其他窗口就可以放在它里面。我的主要问题是,当我关闭mdiArea内的一个窗口时,它会消失,我无法重新打开它,我要么希望窗口没有退出按钮,要么创建一个带有按钮的窗口,如果它不在那里,可以打开文件。在
输出屏幕截图
最小化的窗口是ValveSimulator,如果我关闭它,它就不存在了,我无法打开它
我的主要代码:CreateWindow用按钮创建窗口,CreateValveSimulator是我的主程序,当我关闭它时,我想从按钮打开它
from PyQt5 import QtCore, QtGui, QtWidgets, uic
from PyQt5.QtWidgets import QApplication, QMainWindow, QTableWidget,QWidget, QMdiSubWindow
import ValveSim
import MainWindow
import Window
class Win1(QMainWindow):
def __init__(self):
QWidget.__init__(self)
self.vtn = MainWindow.Ui_MainWindow()
self.vtn.setupUi(self)
self.subwindow = QMdiSubWindow()
self.CreateValveSimulator()
self.CreateWindow()
def CreateValveSimulator(self):
widget = QMainWindow()
self.VSim_subwindow = ValveSim.Ui_ValveSim()
self.VSim_subwindow.setupUi(widget)
self.subwindow = QMdiSubWindow(self.vtn.mdiArea)
widget.setParent(self.subwindow)
self.subwindow.setWidget(widget)
self.vtn.mdiArea.addSubWindow(self.subwindow)
widget.show()
self.subwindow.show()
self.subwindow.widget().show()
def CreateWindow(self):
widget = QMainWindow()
self.win_subwindow = Window.Ui_MainWindow()
self.win_subwindow.setupUi(widget)
self.subwindow = QMdiSubWindow(self.vtn.mdiArea)
widget.setParent(self.subwindow)
self.subwindow.setWidget(widget)
self.vtn.mdiArea.addSubWindow(self.subwindow)
widget.show()
self.subwindow.show()
self.subwindow.widget().show()
if __name__=='__main__':
app =QApplication(sys.argv)
win = Win1()
win.show()
sys.exit(app.exec_())
我连接了自动按钮一个名为openvs的函数,我希望在关闭阀门模拟器窗口时打开它,如我的主代码所示,但是当我点击按钮时,它就会崩溃
带按钮代码的表格:
^{pr2}$
您必须独立创建窗口,并将它们添加到每个QMdiSubWindow。当小部件显示在子窗口中时,这将导致子窗口被显示。要使用按钮正常打开,必须使用单击的信号并调用showNormal函数。在
完整的代码是here。
相关问题 更多 >
编程相关推荐