Qt Designer控件尺寸策略

PyQt5学习之路,点击有pyqt5学习笔记

1、控件的最大值与最小值

一个控件拖到主窗口后可以随意放大或缩小,但是也是有限制的,位置在属性编辑器,属性名为minimumSize,maximumSize
在这里插入图片描述

2、尺寸策略(sizePolicy)

了解尺寸策略之前,先了解sizeHint(期望尺寸)minisizeHInt(最小期望尺寸)

  • sizeHint(期望尺寸)
    每个控件的期望尺寸是不同的,在未设置控件最大值最小值之前,控件推荐到某个尺寸,像默认尺寸一样。但对大多数控件来说,期望尺寸是只读的。
    获取期望值代码如下
self.控件名.sizeHint().width()
self.控件名.sizeHint().height()

在这里插入图片描述

  • minisizeHInt(最小期望尺寸)
    最小期望尺寸获取,代码和期望尺寸差不多
self.控件名.minimumSizeHint().width()
self.控件名.minimumSizeHint().height()

在这里插入图片描述
这样就可以在各种布局中调整空间大小
在这里插入图片描述
关于水平垂直策略的各种英文解释

  • Fixed:窗口控件具有其sizeHint所提示的尺寸且尺寸不会再改变;
  • Minimum:窗口控件的sizeHint所提示的尺寸就是它的最小尺寸,该窗口控件不能压缩的比这个值小,但可以变得更大;
  • Maximum:窗口控件的sizeHint所提示的尺寸就是它的最大尺寸,该窗口控件不能变得比这个值大,但它可以被压缩到minisizeHint给定的尺寸大小;
  • Preferred:窗口控件的sizeHint所提示的尺寸就是它的期望尺寸,该窗口控件可以缩小到minisizeHint所提示的尺寸,也可以变得比sizeHint所提示的尺寸还大;
  • Expanding:窗口控件可以缩小到minisizeHint所提示的尺寸,也可以变得比sizeHint所提示的尺寸大,但它希望能变得更大;
  • MinimumExpanding:窗口控件的sizeHint所提示的尺寸就是它的最小尺寸,该窗口控件不能被压缩得比这个值还小,但它希望能够变得更大;
  • Ignored:无视窗口控件的sizeHint和minisizeHint所提示的尺寸,按照默认来设置。

Minimum指的是该窗口控件的尺寸不能低于sizeHint;
Maximum:指的是该窗口控件不能大于sizeHint。

### QT Designer 控件使用教程 #### 安装与启动 Qt Designer 为了开始使用 Qt Designer,需先安装该工具。对于大多数开发环境而言,可以通过包管理器或官方渠道下载并安装 Qt Creator,其中包含了 Qt Designer 工具[^1]。 #### 创建基本控件 打开 Qt Designer 后,用户可以选择新建一个表单文件来构建新的界面。通过左侧的 Widget Box 可以看到多种预定义的小部件(Widgets),比如按钮(Button)、标签(Label)、文本框(LineEdit),以及各种容器(Container Widgets)。这些组件可以直接拖放到工作区中,并调整其位置和大小。 #### 设计布局 Qt Designer 提供了几种常用的布局方式,如水平布局(HBoxLayout)、垂直布局(VBoxLayout) 和网格布局(Grid Layout) 等。选择合适的布局可以帮助更好地组织界面上各个元素之间的相对关系,使得 UI 更加整洁美观。 #### 自定义控件集成 当内置的标准控件不足以满足特定项目的需求时,则可能需要用到自定义控件的功能。这通常涉及到两步操作:一是按照 Python 类的方式定义一个新的类继承自 QWidget 或其他基础类;二是回到 Qt Designer 中把现有的某个标准控件“升级”成这个新类型的对象——即所谓的“Promotion”。具体做法是在属性编辑器(Property Editor)里找到 Promoted Classes 部分完成设置[^3]。 ```python from PyQt5.QtWidgets import QPushButton, QApplication, QVBoxLayout, QWidget class CustomButton(QPushButton): def __init__(self, parent=None): super().__init__('Custom Button', parent) if __name__ == '__main__': app = QApplication([]) window = QWidget() layout = QVBoxLayout(window) custom_btn = CustomButton(parent=window) layout.addWidget(custom_btn) window.show() app.exec_() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值