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

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

QGridLayout),可以把所添加的控件以网格的形式排列; 表单布局类(QFormLayout),可以把所添加的控件以两列的形式排列。...布局类及其子类的继承关系如下图所示: 1、 水平布局类(QHBoxLayout) 采用QHBoxLayout类,按照从左到右的顺序来添加控件。...__init__(parent) self.setWindowTitle("水平布局管理例子") # 水平布局按照从左到右的顺序进行添加按钮部件。...__init__(parent) self.setWindowTitle("垂直布局管理例子") self.resize(330, 150) # 垂直布局按照从上到下的顺序进行添加按钮部件...QGridLayout类中的常用方法如下表所示: 3.1、单一的网络布局 来做个单一网格布局的小案例,创建QGridLayout的实例,并设置为窗口的布局,创建按钮的标签列表,在网格中创建一个位置列表

4.5K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    PyQt5布局管理之QVBoxLayout(二)

    QVBoxLayout 前言 采用QVBoxLayout类,按照从上到下的顺序添加控件 本节内容较少,演示两个实例,便于明白QVBoxLayout(垂直布局)的使用 实例:QVBoxLayout的正常使用...__init__(parent) self.setWindowTitle("垂直布局管理例子") self.resize(330, 150) # 垂直布局按照从上到下的顺序进行添加按钮部件。...()函数在布局管理器中添加一个可伸缩的控件(QSpaceItem),0为最小值,并且将stretch作为伸缩量添加到布局末尾,stretch参数表示均分的比例,默认为0 实例:addStretch在QVBoxLayout...1:1:1:1,意思是将按钮以外的空白地方等分为4分,并按照所设置的顺序放入按钮的布局管理器中,这样在每一个控件之间都添加了伸缩量,所有控件之间的间距都会相同 思考:如果我们只添加一个addStretch...__init__(parent) self.setWindowTitle("水平布局管理例子") self.resize(800, 50) # 水平布局按照从左到右的顺序进行添加按钮部件。

    2.6K10

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

    =new QHBoxLayout; QHBoxLayout *Hlayout2=new QHBoxLayout; QVBoxLayout *Vlayout=new QVBoxLayout...,由于Vlayout管理着Hlayout1 Hlayout2,所以只填写一个即可 w.show(); return a.exec(); } 布局管理器比例系数 默认情况下,组件之间以等比例的方式改变组件大小...*Hlayout1=new QHBoxLayout; QHBoxLayout *Hlayout2=new QHBoxLayout; QVBoxLayout *Vlayout=new QVBoxLayout...QFormLayout表单布局 以表单的方式管理界面组件,专为标签和字段(组件)的形式创建的 表单布局也支持嵌套,可以管理子布局 常用函数: addRow ( QWidget * label, QWidget...不能直接嵌套其它布局管理器,只能间接嵌套 常用函数: int addWidget ( QWidget * widget );            //顺序添加组件 int insertWidget

    1.7K30

    Python Qt GUI设计:如何调整组件布局比例?(拓展篇—1)

    例如,设置三个按钮组件比例是:3:1:1,此时效果如下所示: 分隔组件在GUI显示时是看不出来的,可以通过添加分隔组件(Horizontal Spacer(水平分隔)、Vertical Spacer...1:1:1:1,意思是将按钮以外的空白地方等分为4份,并按照所设置的顺序放入按钮的布局管理器中。...这样在每一个控件之间就都添加了伸缩量,所有控件之间的间距都会相同。 若在布局中使用addStretch()函数时候,在第一个控件之前添加伸缩控件,这样所有的控件就都会居右显示。...__init__(parent) self.setWindowTitle("水平布局管理例子") self.resize(800, 50) # 水平布局按照从左到右的顺序进行添加按钮部件...hlayout = QHBoxLayout() # 添加伸缩 hlayout.addStretch(0) hlayout.addWidget( QPushButton

    5.4K31

    PyQt4中的布局管理 (入门较好2)

    指定了坐标和大小的部件是不能够随着窗口大小的变化而变化的. 程序在不同的操作系统平台上也许会有所变化. 改变字体可能会引起布局的混乱....最基本的布局类就是QHboxLayout和VHBoxLayout. 他们将部件线性的水平或垂直排列. ...这里假设我们要将两个按钮放在窗口的右下方, 要实现这样的布局, 使用一个QHBoxLayout和一个QVBoxLayout, 而其他的空间, 通过添加stretch factor来实现.  1 #...Figure: box layout QGridLayout 最常用的布局类应当是QGridLayout, 他将窗口分成不同的行和列.  1 #!...grid.addWidget(reviewEdit,  3 ,  1 ,  5 , , 1 ) 给布局中添加部件时, 可以指定占据的行数和占据的列数.

    1.2K10

    Qt for Python的4种基础布局管理

    布局用于规范控件内子控件的排列和摆放顺序,使得图形界面内的控件位置井然有序。...,布局内的控件分列不同的行和列中; 表单布局:布局实现表单显示方式的布局。...,只是将QHBoxLayout()换成了QVBoxLayout(),运行上述代码,我们将会得到如下图所示的主窗口图形界面: ?...(sys.argv) gui = LayoutApp() gui.show() sys.exit(app.exec_()) 在上面的代码中,我们将按钮添加到网格不同的行列中,运行上述代码...五、表单布局 表单布局意即以表单的形式进行布局。那么表单的形式是什么形式呢,我们知道普通的完整表单都会有一个文本标签和一个输入框等,就像下图这样: ? 那么表单布局也就是按照这种方式进行布局。

    2.1K20

    初步学习Qt布局

    布局管理 以下是Qt手册中的《布局管理》的译文 在一个Widget中,Qt布局管理系统提供了一个简单而有效的方式来自动组织子widget,以保证他们能够很好地利用可用空间。...当可用空间发生变化时,这些布局将自动调整widgets的位置和大小,以确保它们布局的一致性和用户界面主体可用。 所有QWidget的子类都可以用布局来管理它们的子类。...向布局添加widgets 添加布局到widgets时,布局过程执行如下: 1....窗体小部件可以显示数据和状态信息,接受用户输入,和提供组织其他窗体小部件的容器。 没有嵌入到父级窗体小部件的部件被称为窗口(window)。...窗体小部件的样式 样式(styles)绘制窗体小部件,并封装了GUI的外观和感觉。Qt的内置窗体小部件使用QStyle类完成几乎所有的绘制工作,以确保它们看来确实是一致的、本地窗体小部件。

    7.1K10

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

    可以理解为,工具箱有很多抽屉,每次只能打开一个,抽屉里可以放很各种各样的东西,例如QQ的好友分组,每个分组下有不同数目的联系人。...可以实现在同一区域中自由切换不同页面的内容,该控件是一个容器类控件,并提供友好的页面切换方式。...; widget(): 获得指定标签索引的部件; indexOf(): 获得指定部件的标签索引; count(): 总标签数; setTabPosition(): 设置标签的显示位置,值为(北:QTabWidget.North...可以填充一些小控件,但是同一时间只有一个小控件可以显示。...它是放置在QMainWindow中的中央窗口小部件周围的停靠窗口小部件区域中的次要窗口。QDockWidget由一个标题栏和内容区域组成。标题栏显示浮动窗口小部件窗口标题,浮动按钮和关闭按钮。

    6K40

    PyQt中布局管理

    使用布局管理器管理布局是组织窗口小部件的首选方式 绝对定位 程序员以像素为单位指定每个小部件的位置和大小。...当您使用绝对定位时,我们必须了解以下限制: 如果我们调整窗口大小,窗口小部件的大小和位置不会改变 在不同平台上,应用的外观可能不同 更改应用程序中的字体可能会破坏布局 如果我们决定改变我们的布局,我们必须完全重做我们的布局...盒子布局 QHBoxLayout和BoxLayout是水平和垂直排列小部件的基本布局类。 如果我们需要把两个按钮放在程序的右下角,创建这样的布局,我们只需要一个水平布局加一个垂直布局的盒子就可以了。...当改变窗口大小的时候,它们能依然保持在相对的位置。我们同时使用了QHBoxLayout和QVBoxLayout。 创建了两个按钮。...okButton = QPushButton("OK") cancelButton = QPushButton("Cancel") 我们创建一个水平框布局并添加一个拉伸因子和两个按钮。

    1.8K30

    PySide6 项目开发全攻略:打造你的文件重命名神器

    1.2 项目结构:文件的秘密基地项目结构就像一个有序的小基地,每个文件都有自己的 “小窝”:FsPySide6Project/├──.gitignore # 版本控制的“小卫士”,忽略那些不需要的文件...# 主窗口界面,是你的“门面担当”└── requirements.txt # 依赖清单,记录着项目需要的各种“小帮手”来看看这些文件都在干啥:.gitignore:默默守护着项目,把pycache...要是以后想加新功能,就再添加个按钮,绑定个点击事件,简单得很!...init_ui(self): self.setWindowTitle("文件名批量修改工具") layout = QVBoxLayout() # 选择文件夹相关部件...suffix_layout.addWidget(self.suffix_entry) layout.addLayout(suffix_layout) # 查找字符输入部件

    6210

    PySide6 项目开发全攻略:打造你的文件重命名神器

    1.2 项目结构:文件的秘密基地 项目结构就像一个有序的小基地,每个文件都有自己的 “小窝”: FsPySide6Project/ ├──.gitignore # 版本控制的“小卫士”,忽略那些不需要的文件...main_window.py # 主窗口界面,是你的“门面担当” └── requirements.txt # 依赖清单,记录着项目需要的各种“小帮手” 来看看这些文件都在干啥: • .gitignore...要是以后想加新功能,就再添加个按钮,绑定个点击事件,简单得很!...prefix_layout.addWidget(self.prefix_entry) layout.addLayout(prefix_layout) # 文件名后缀输入部件...suffix_layout.addWidget(self.suffix_entry) layout.addLayout(suffix_layout) # 查找字符输入部件

    6500

    PyQt5-Qt Designer中控件的尺寸相关设置(sizePolicy策略)

    ().height()self.控件.minimumSize().width()3 sizePolicy(尺寸策略)3.1 简介sizePolicy(尺寸策略)是用来管理部件尺寸的;每个部件都有一个大小或尺寸策略...,它定义了部件再布局管理中如何分配大小;大小由QSizePolicy类实现;每个部件基本都有水平策略和垂直策略两种。...3.2 属性值不管是水平策略还是垂直策略,都有以下属性;图片属性说明 Fixed(固定)保持固定大小,不会根据可用空间进行调整Minimum(最小)尽可能小,满足最小尺寸要求 Maximum(最大)尽可能大...,不会超过最大尺寸要求 Preferred(首选)尽可能保持首选尺寸,但可根据可用空间进行调整Expanding(扩展)尽量扩展以填充可用空间,但不可超过最大尺寸 Ignored(忽略)布局管理器将忽略部件尺寸的大小水平伸展和垂直伸展...4 示例拖动一个水平布局:图片拖动一个树控件到水平布局,此时会铺满整个布局:图片再拖动一个面板控件,此时如下:图片而以上两个部件的水平和垂直策略都是Expanding,水平和垂直伸展都是0,各占50%空间

    2.9K50

    干货 | 一分钟带你了解PyQt的窗口布局

    上文我们提到PyQt编程中的绝对定位,今天我们来谈谈另外一种布局方式-窗口布局。 使用四种窗口布局管理界面控件布局是组织窗口小部件的首选方式。...常用的窗口布局有以下几种: 1.水平布局管理器(QHBoxLayout) 2.垂直布局管理器(QVBoxLayout) 3.栅格布局管理器(QGridLayout) 4.表单布局管理器(QFormLayout...) QHBoxLayout 水平布局管理器(QHBoxLayout):这个管理器是将控件进行水平布局,在水平方向上整理排列控件。...QGridLayout 栅格布局管理器(QGridLayout):用网格的形式,把程序中添加的控件以一定的矩阵形式进行排列。 如下所示: ?...QFormLayout 表单布局管理器(QFormLayout):在显示窗口中,以两列的形式排列所添加的控件。 如下所示: ?

    1.5K10
    领券