我是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包中。
答案 0 :(得分:0)
我们必须在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()