在QT Designer中怎么让mdiArea中的子窗口随着主窗口的伸缩而随之伸缩呢(并且子窗口的控件也会随着伸缩)?

线上效果图:
这是两个窗体,外面的是QMainWindow,里面的是QWidget
在这里插入图片描述
然后我把外面的窗体拉大,结果:
在这里插入图片描述
里面的子窗体也随着外面的主窗体拉伸而随之拉伸。
步骤如下:
打开QT Designer,然后新建一个QMainWindow,拖动MdiArea在其上
在这里插入图片描述
右键新建一个子窗口
在这里插入图片描述
再往子窗口上添加你想要添加的控件,在这里我添加了一个TableView
在这里插入图片描述
现在准备工作全部做完,进入重点,第一步想让子窗口中的控件随着子窗口的伸缩而随之伸缩,则需要对他进行Layout布局,选中MdiArea然后选择"垂直布局"(其实水平布局也可以)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
第二步:让子窗体和主窗体同步,选中主窗体,然后选择"垂直布局"

在这里插入图片描述
现在主窗体拉伸,子窗体以及内部控件就可以一起跟着伸缩了
在这里插入图片描述

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在PyQt5 Designer,可以使用布局管理器来实现件随窗口大小变化,并且可以设定各件大小比例。 以下是实现步骤: 1. 在窗口添加布局管理器。可以选择水平布局管理器或垂直布局管理器,也可以选择网格布局管理器等。 2. 将需要随窗口大小变化的件添加到布局管理器。可以通过拖拽或者代码方式添加件。 3. 在布局管理器设置件大小比例。可以通过在件上右键点击,选择“布局管理器”->“添加伸缩量”来添加件的大小比例。也可以通过在代码设置件的大小比例。 4. 在窗口的resizeEvent()方法设置布局管理器的大小。当窗口大小发生变化时,布局管理器自动重新计算件的大小和位置。 下面是一个示例代码,演示了如何使用水平布局管理器实现件随窗口大小变化,并且设置件大小比例: ``` import sys from PyQt5.QtWidgets import QApplication, QMainWindow, QHBoxLayout, QLabel, QLineEdit class MyMainWindow(QMainWindow): def __init__(self): super().__init__() # 创建件 label1 = QLabel("Label 1") label2 = QLabel("Label 2") label3 = QLabel("Label 3") lineEdit1 = QLineEdit() lineEdit2 = QLineEdit() lineEdit3 = QLineEdit() # 创建布局管理器 layout = QHBoxLayout() # 添加件到布局管理器 layout.addWidget(label1, 1) # 设置件大小比例为1 layout.addWidget(lineEdit1, 2) # 设置件大小比例为2 layout.addWidget(label2, 1) # 设置件大小比例为1 layout.addWidget(lineEdit2, 2) # 设置件大小比例为2 layout.addWidget(label3, 1) # 设置件大小比例为1 layout.addWidget(lineEdit3, 2) # 设置件大小比例为2 # 创建窗口 centralWidget = QWidget() centralWidget.setLayout(layout) self.setCentralWidget(centralWidget) def resizeEvent(self, event): # 设置布局管理器的大小 self.centralWidget().layout().setGeometry(self.rect()) if __name__ == '__main__': app = QApplication(sys.argv) mainWindow = MyMainWindow() mainWindow.show() sys.exit(app.exec_()) ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值