0

我希望我在这里有一个简单的问题。我用 QT Designer 和 MDI 区域的子窗口创建了一个非常大的 GUI。我使用 pyuic5 将其从.ui文件转换为.py文件。我编写了一个函数来在按下按钮时打开该子窗口。我第一次按下按钮时它工作正常。我遇到的问题是第二次按下按钮时,它只会在 MDI 区域内显示一个空白子窗口。每次按下按钮时如何让它正确显示。我将附上如何启动下面的子窗口的代码。任何建议将不胜感激。感谢您的时间和帮助

单击按钮时调用的代码

def windowaction(self):

    sub = QtWidgets.QMdiSubWindow()
    sub.setWidget(self.Load_Input)
    sub.setObjectName("Load_Input_window")
    sub.setWindowTitle("Load Input")
    self.mdiArea.addSubWindow(sub)
    sub.show()

第一次点击按钮 第一次点击按钮

第二次点击按钮 第二次点击按钮

4

1 回答 1

0

问题来自将相同的小部件对象添加到不同的QMdiSubWindow,您必须创建一个新对象并将其添加到新的QMdiSubWindow

def windowaction(self):
    sub = QtWidgets.QMdiSubWindow()
    Load_Input = LoadInput()
    sub.setWidget(Load_Input)
    sub.setObjectName("Load_Input_window")
    sub.setWindowTitle("Load Input")
    self.mdiArea.addSubWindow(sub)
    sub.show()
于 2017-05-05T02:46:02.723 回答