gpt4 book ai didi

qt - 如何将子窗口放入主窗口中(PyQt)

转载 作者:行者123 更新时间:2023-12-03 07:31:04 30 4
gpt4 key购买 nike

我在 stackoverflow 和 google 上查找了几天类似我的案例的内容,但我找到的所有示例都不起作用。

我想要的是让我的父窗口带有菜单,然后从该菜单调用其他子窗口并在父窗口中执行/显示它们。

我尝试在父窗口中放置一个小部件并在其中调用子窗口,使用 MDIArea,但没有任何效果。

观察:我的屏幕文件是从 Qt 设计器生成的,我正在制作单独的类来操作小部件、按钮等,以使一切更有条理。

我使用 QtDesigner 在主窗口中创建了 MdiArea,并在一个通过单击 MdiArea 内的菜单触发的类中创建了 MdiArea,我将其称为子窗口(也是使用 QtDesigner 创建的小部件)。

from resources.SubWindowQtDes import Ui_SubWindow
from resources.MainWindowQTDes import Ui_MainWindow
class cadastraAluno(Ui_SubWindow,Ui_MainWindow):
def __init__(self, parent=None):
super(cadastraAluno, self).__init__(parent = None)
dialog = Ui_SubWindow()
window = Ui_MainWindow()
mdi = window.mdiArea
mdi.addSubWindow(dialog, flags = 0)
dialog.show()

最佳答案

这是我通常对子窗口执行的操作:

class subwindow(QtGui.QWidget):
def createWindow(self,WindowWidth,WindowHeight):
parent=None
super(subwindow,self).__init__(parent)
selt.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint)
self.resize(WindowWidth,WindowHeight)

class mainwindow(QtGui.QMainWindow):
def __init__(self, parent=None):
[...]

def createsASubwindow(self):
self.mySubwindow=subwindow()
self.mySubwindow.createWindow(500,400)
#make pyqt items here for your subwindow
#for example self.mySubwindow.button=QtGui.QPushButton(self.mySubwindow)

self.mySubwindow.show()

这样,您就有一个始终位于主窗口顶部的子窗口,并且只能实例化一次。

希望对你有帮助

关于qt - 如何将子窗口放入主窗口中(PyQt),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30470433/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com