Как я могу поместить QMdiSubWindow в QMdiArea QMainWindow?
Я новичок в 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.
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()