首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在窗口初始化时调整QWidget在QSplitter中的垂直和水平比例?

在窗口初始化时调整QWidget在QSplitter中的垂直和水平比例,可以通过以下步骤实现:

  1. 创建一个QSplitter对象,并将其设置为窗口的主布局。
  2. 创建两个QWidget对象,分别表示左侧和右侧的窗口部件。
  3. 使用QSplitter的addWidget()方法将这两个QWidget对象添加到QSplitter中。
  4. 使用setSizes()方法设置QSplitter中两个QWidget的初始大小比例。该方法接受一个整数列表作为参数,表示每个QWidget的大小比例。
  5. 在窗口初始化时,调用show()方法显示窗口。

以下是一个示例代码:

代码语言:txt
复制
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QSplitter, QWidget

class MyWindow(QMainWindow):
    def __init__(self):
        super().__init__()

        splitter = QSplitter(self)
        self.setCentralWidget(splitter)

        left_widget = QWidget(splitter)
        right_widget = QWidget(splitter)

        splitter.addWidget(left_widget)
        splitter.addWidget(right_widget)

        splitter.setSizes([1, 2])  # 设置左右两个QWidget的初始大小比例为1:2

if __name__ == "__main__":
    app = QApplication(sys.argv)
    window = MyWindow()
    window.show()
    sys.exit(app.exec_())

在上述示例中,我们创建了一个QSplitter对象,并将其设置为窗口的主布局。然后,我们创建了两个QWidget对象,分别表示左侧和右侧的窗口部件。使用addWidget()方法将这两个QWidget对象添加到QSplitter中。最后,使用setSizes()方法设置左右两个QWidget的初始大小比例为1:2。

这样,在窗口初始化时,左侧和右侧的QWidget在QSplitter中的垂直和水平比例就会按照设置的大小比例进行调整。

关于QSplitter的更多信息,您可以参考腾讯云的官方文档:QSplitter类文档

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Python Qt GUI设计:窗口布局管理方法【强化篇】(基础篇—6)

】(基础篇—5)文章,聊到了如何使用Qt Designer进行窗口布局管理,其实在Qt Designer可以非常方便进行窗口布局管理设计,本篇博文4种窗口布局方式基础上继续深入聊聊API函数~ ...PyQt 5有四种布局方式:水平布局、垂直布局、网格布局、表单布局,以及两种布局方法,即 addLayout()addWidget(),其中 addLayout()用于布局插入子布局,addWidget...四种布局方式对应四个布局类: 水平布局类(QHBoxLayout),可以把所添加控件水平方向上依次排列; 垂直布局类(QVBoxLayout),可以把所添加控件垂直方向上依次排列; 网格布局类(...5.1、布局添加其他布局 整个例子,首先全局布局采用水平布局,局部布局采用分别是水平布局、垂直布局、网格布局表单布局,准备4个QWidget控件:hwg、vwg、gwgformlayout...QSplitter对象各子控件默认是横向布局,可以使用Qt.Vertical进行垂直布局。

4.2K40

python GUI库图形界面开发之PyQt5动态(可拖动控件大小)布局控件QSplitter详细使用方法与实例

它可以动态地拖动子控件之间边界,算是一个动态布局管理器,QSplitter允许用户拖动子控件边界控制子控件大小,并提供一个处理拖曳子控件控制器 QSplitter对象各子控件默认是横向布局...,可以使用Qt,Vertical进行垂直布局 QSplitter类中常用方法 方法 描述 addWidget() 将小控件添加到QSplitter管理器布局 indexOf() 返回小控件QSplitter...:垂直方向 setSizes() 设置控件初始大小 count() 返回小控件QSplitter管理器数量 QSplitter使用实例 import sys from PyQt5.QtWidgets...__init__() self.initUI() def initUI( self ): #设置全局布局为水平布局,设置标题与初始大小窗口 hbox=QHBoxLayout(...代码分析 在这个例子,显示了使用两个QSplitter组织两个QFame控件,其中第一个QSplitter对象包含一个QFrame对象QTextEdit对象,并按照水平方向进行布局 splitter1

4K41
  • 用Qt写软件系列五:一个安全防护软件制作(3)

    Qt中提供了一个用于分割窗体类:QSplitter。这个类使用也非常简单,准备好需要分割窗口,设置好分割方向比例即可。...不过值得注意是,QSplitter是一个窗口管理类,没有添加子控件是看不到QSplitter效果。这一点Qt Designer也可以验证。       ...我们项目中,我们增加一个QSplitter类成员,并在主窗口构造函数添加如下代码: splitter = new QSplitter(Qt::Horizontal, this); splitter...(0, 1); splitter->setStretchFactor(1, 3);   在上面的代码,我们将左右两个子窗口比例设置为1:3。...分割出来窗口中,还可以进行进一步分割,也就是QSplitter嵌套使用。

    1.7K90

    初步学习Qt布局

    介绍 Qt包含一个布局管理类集合,它们被用来描述widgets如何在应用程序用户界面呈现。...当可用空间发生变化时,这些布局将自动调整widgets位置大小,以确保它们布局一致性用户界面主体可用。 所有QWidget子类都可以用布局来管理它们子类。...当布局通过这种方式设置到widget,它将负责以下任务: l 子widget定位 l 窗口合理默认空间 l 窗口合理最小空间 l 调整大小处理 l 当内容发生变化时自动调整 n 字体、...is visible at a time 栈模式widget,一次只显示一个 水平垂直、网格表格布局 给widgets一个很好布局最好方式是使用内置布局管理器: QHBoxLayout...当widget整理到一个布局时,它们将根据QWidget::sizePolicy()或者最小大小hint(取决于谁更大)分配一定空间。拉伸系数被用于按比例改变widget分配空间。

    7K10

    Qt面试题(二)

    其实现只能在 QWindowStyle 类通过重载来完成 32关于布局功能叙述以下正确是 a. 布局空间中布置子窗口部件 b. 设置子窗口部件间空隙 c....以上全有 35以下叙述不正确是 a. QHBox 允许子窗口部件按水平垂直网格排列 b. QVBox 允许子窗口部件按水平垂直网格排列 c....QGrid 允许子窗口部件按水平垂直网格排列 d. 以上全不对 36以下各项是 QLayout 子类是 a. QGridLayout b. QHBoxLayout c....QDragObject 对象最后由 Qt 删除 50一些简单情况下拖放目标接收一个被拖动数据拷贝并且由源决定 是否删除初始拖动对象这是 QDropEvent 什么操作 a....14.QT 怎么一个窗口中获得另一个窗口指针 Class A { B b P; } b.p Class B { Public: getName(char *p) { d=p; } } b.getName

    2.1K20

    一篇文章让你读懂PyQt5布局管理,绝对干货

    PyQt5界面布局主要有两种方法:绝对定位和局部类。PyQt5有四种布局方式:水平布局、垂直布局、网格布局、表单布局。...还有两种布局方法:addLayoutaddWidget,其中addLayout用于布局插入子布局,addWidget用于布局插入控件。 垂直布局:控件默认按照从上到下顺序进行纵向添加。...水平布局:控件默认按照从左到右顺序进行横向添加。 栅格布局:将窗口分为若干行(row)列(column)。 表单布局:控件以两列形式布局在窗口中,左边为标签,右边为输入控件。...盒子布局(QHBoxLayout 水平布局、QVBoxLayout 垂直布局) 方法: stretch(伸缩量),只适用于QBoxLayout布局方式,控件窗口会随着伸缩量变大而增加 alignment...stretch = 0) 指定控件间隔处添加布局比例 insertSpacing(index, size) 指定控件间隔处设置间隔大小 addStretch是按照比例调整界面布局,页面布局中使用广泛

    20.3K21

    qt 如何设计好布局漂亮界面。

    Vertical Layouts(垂直布局) 使用了垂直布局,组件自动垂直方向上分布。 ? ?Horizontal Layouts(水平布局) 使用了水平布局,组件自动水平方向上分布。...Minimum GrowFlag 指定最小值策略: Qwidget. sizeHint()对应缺省大小是最小值,不能调整部件大小到比缺省大小更小尺寸,并且该值应该足够满足部件展现。...这时候,你可能要问这里布局刚才布局一样吗,是一样不过在这里,可以更快速对组件进行布局,比如下面这样: ? ?...分割布局器 至于分割布局器,默认情况下是不可用,使用方法是先选中要放入QSplitter控件,此时分裂布局图标变亮,然后选择水平垂直布局器。 ?...使用属性handleWidth可调节组件之间间距。 属性opaqueResize默认情况下(打勾),使用鼠标拖动分割子窗口边界时,子窗口会动态改变其大小。

    9.6K41

    PyQT模块、类、控件介绍

    PyQT主要类 QObject类 类层次结构是顶部类(Top Class),它是所有PyQt对象基类。 QPaintDevice类 所有可绘制对象基类。...它包含主事件循环,对来自窗口系统其他资源所有事件进行处理调度;它也对应用程序初始结束进行处理,并且提供对话管理;还对绝大多数系统范围应用程序范围设置进行处理。...QMainWindow类 提供一个有菜单栏、锚接窗口(如工具栏)状态栏主应用程序窗口QWidget类 所有用户界面对象基类。...QDialog类QFrame类继承自QWidget类,这两个类有自己子类系统(Sub-Class System)。 QDialog类 最普通顶级窗口。...要么通过按向上/向下键增加/减少当前显示值,要么直接将值输入到输入框 QScrollBar窗口控件 提供了一个水平垂直滚动条 QSlider控件 提供了一个垂直水平滑动条 QComboBox

    55831

    【Python篇】PyQt5 超详细教程——由入门到精通(终篇)

    布局管理器通过动态调整控件位置大小,确保用户界面不同窗口大小下保持美观且易于使用。...10.2 QVBoxLayout:垂直布局 QVBoxLayout 是 PyQt5 垂直布局管理器,它将控件从上到下垂直排列。控件会根据窗口大小自动调整。...10.3 QHBoxLayout:水平布局 QHBoxLayout 是 PyQt5 水平布局管理器,控件会从左到右水平排列。与垂直布局类似,控件位置大小会根据窗口宽度自动调整。...调整控件位置 当窗口宽度发生变化时,控件之间距离会根据窗口大小进行动态调整,确保每个控件在窗口位置合理。...第9-10部分总结:菜单栏、工具栏与布局管理 第9至第10部分,我们深入讲解了 PyQt5 中的菜单栏、工具栏状态栏使用,展示了如何为应用程序添加组织良好功能结构界面元素。

    32810

    用Qt写软件系列五:一个安全防护软件制作(2)

    这一篇继续讲述工具箱(Tool Button)实现。另外,实现过程还做了另外一个贴心小功能:可伸缩侧边栏。...Qt实现这个功能不难,Qt库本身就提供了QToolButtonQToolBox两个类用于类似功能。在这里我们从QToolButton类派生一个子类自定义按钮动作。...值得注意是doPaintStuff()这个函数。这个函数实际做工作是给工具按钮添加垂直渐变效果。...使用了QLinearGradient这个类,可以实现线性渐变效果,这在很多界面元素设计中都非常有用。        主函数怎么调用这个自定义按钮类呢?...这样也是很自然做法,一方面形式简单,另一方面水平排列工具按钮按序编号符合人类习惯。 ? 可伸缩侧边栏        还是看看什么叫做可伸缩侧边栏,这样功能在QQ聊天窗口就可以看见: ?

    3.6K70

    【QT】QT菜单栏、状态栏、工具栏

    一个主窗口只能有一个菜单栏。 工具栏 工具栏一般用于常用菜单项,也可以插入其他窗口部件,一个主窗口可以拥有多个工具栏。...中心部件 主窗口中心区域可以放入一个窗口部件作为中心部件,是应用程序主要功能实现区域,一个主窗口只能有一个中心部件。...dock部件 dock部件又称为停靠部件,或停靠窗口,可停靠在窗口部件四周,用来设置一些部件来实现一些功能,类似一个工具箱,一个主窗口可拥有多个dock部件。...状态栏 状态栏用于显示程序一些状态信息,窗口最底下,一个主窗口只能拥有一个状态栏。 菜单栏、工具栏、状态栏 代码添加示例。..., 并重写createWidget方法,该方法自定义部件设置。

    1.3K20

    11.QT-布局管理器(Box,Grid,Form,Stacked)

    布局管理器简介 QT中提供了对界面组件进行布局管理类,用于对界面组件进行管理, 能够自动排列窗口界面组件 窗口大小变化后,便会自动更新界面组件大小。...布局管理器可以自定义,从而达到更加个性化界面布局效果 布局管理器可以相互嵌套,完成所有常用界面布局 QLayout是Qt布局管理器抽象基类,如下图所示: ?...QBoxLayout水平/垂直布局 QBoxLayout有两个子类:QHBoxLayout(水平)QVBoxLayput(垂直) 比如垂直布局,表示将垂直方向分为一个个格子,如下图所示: ?...)QVBoxLayput(垂直),但是只是单方面自动布局....QFormLayout表单布局 以表单方式管理界面组件,专为标签字段(组件)形式创建 表单布局也支持嵌套,可以管理子布局 常用函数: addRow ( QWidget * label, QWidget

    1.6K30

    Qt Designer基本控件介绍——Containers(容器)

    (): 设置为true,则滚动区域部件将自动调整,以避免可以不显示滚动条,或者利用额外空间; widgetResizable(): 获得区域里控件是否自动可调设置; ensureVisible(...__init__() #设置窗口初始位置大小 self.setGeometry(300,50,10,10) self.setWindowTitle('练习...() self.stack3UI() #QStackedWidget对象填充了三个子控件 self.stack=QStackedWidget(self...subWindowActivated: 特定子窗口被激活时发射该信号 详细介绍示例可看博客”实战PyQt5: 051-多窗口文档控件QMdiArea“ Dock Widget :浮动窗口。...它是放置QMainWindow中央窗口小部件周围停靠窗口小部件区域中次要窗口。QDockWidget由一个标题栏内容区域组成。标题栏显示浮动窗口小部件窗口标题,浮动按钮关闭按钮。

    5.9K40

    PySide6 GUI 编程(43):自定义 QWidget

    自定义绘制: paintEvent 允许开发者控件上绘制自定义内容,比如图形、文本、图像等。通过重写这个方法,可以实现复杂自定义界面。...这包括窗口重绘、控件状态变化等。 使用 QPainter: paintEvent ,通常会使用 QPainter 类来执行绘制操作。...接受两个参数,分别表示控件水平方向垂直方向上大小策略 # QSizePolicy.Policy.MinimumExpanding 表示控件最小扩展策略 # 具体来说...,这个值是静态值 self.setMinimumSize(100, 100) # setSizePolicy 接受两个参数,分别表示控件水平方向垂直方向上大小策略...,当旋转 dial 时,灰色矩形中会由下向上升起带有颜色矩形,矩形高度随着 dial 值变化而变化: # 绘制对应比例面积矩形 percent = self.current_value

    26765

    【Python篇】PyQt5 超详细教程——由入门到精通(序篇)

    2.3 布局管理器 开发 GUI 应用程序时,如何排列管理窗口控件至关重要。PyQt5 提供了几个常用布局管理器,让控件自动调整位置大小。...按钮排列水平布局水平布局本身又嵌入到了垂直布局,形成了一种灵活组合布局。 添加控件到布局: vbox_layout.addWidget(label) 将标签控件添加到垂直布局。...布局嵌套: 通过 vbox_layout.addLayout(hbox_layout),我们将水平布局嵌入到垂直布局,实现更复杂布局结构。...2.7 总结 在这一部分,我们学习了如何在 PyQt5 中使用布局管理器来组织窗口控件。我们主要介绍了几种常见布局方式: QVBoxLayout:垂直排列控件。...QHBoxLayout:水平排列控件。 QGridLayout:网格方式排列控件。 通过使用这些布局管理器,我们可以让窗口控件自动调整位置大小,而不需要手动计算控件坐标。

    2.3K20
    领券