【问题标题】:How Can I put a QMdiSubWindow into a QMdiArea QMainWindow?如何将 QMdiSubWindow 放入 QMdiArea QMainWindow?
【发布时间】:2015-03-23 16:27:20
【问题描述】:

我是 pyqt 的新手。我想用 Qmainwindow 及其菜单栏和菜单项做一个应用程序。当我单击某个菜单项时,QMdiSubWindow 应该出现在 qmdiarea 中,我该怎么做? 这是我的 qmainwindow 代码:

class Ui_mainForm(QMainWindow):
    def __init__(self):
        QtGui.QMainWindow.__init__(self)
        self.resize(928, 695)
        self.qareaMdi = QtGui.QWidget(self)
        #all the design code...
        self.actionFriends.triggered.connect(self.actionFriends_click)
        #more code...
    def actionFriends_click(self):
        #how can I call a qmdisubwindow here?

这是我的 QMdiSubWindow 代码:

class Ui_friendForm(QMdiSubWindow):
    def __init__(self):
        QtGui.QMdiSubWindow.__init__(self)
        self.resize(878, 551)
        QtCore.QMetaObject.connectSlotsByName(self)

提前致谢

更新: 我像这样修改了 actionFriends_click 函数:

def actionFriends_click(self):
    subwindow_friend = Ui_friendForm()
    self.mdiArea.addSubWindow(subwindow_friend)
    subwindow_friend.show()

更新 2: 我忘记了。我们必须在 Ui_mainForm 中添加一个引用

from VIEW.friendsForm import Ui_friendForm

在这种情况下,QMdiSubWindows Ui_friendForm 类位于 VIEW 包中。

【问题讨论】:

    标签: python-2.7 pyqt qmainwindow qmdiarea


    【解决方案1】:

    我们必须在 Ui_mainForm 中添加一个引用(在这种情况下,QMdiSubWindows Ui_friendForm 类在 VIEW 包中。)我修改了 actionFriends_click 函数,如下所示:

    from VIEW.friendsForm import Ui_friendForm
    def actionFriends_click(self):
        subwindow_friend = Ui_friendForm()
        self.mdiArea.addSubWindow(subwindow_friend)
        subwindow_friend.show()
    

    【讨论】:

      猜你喜欢
      • 2017-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多