Pyqt5 实现窗口缩放,控件在窗口内自动伸缩的操作

作者:苏格拉倒 时间:2022-10-16 06:32:09 

在Qtdesigner中新建一个主界面如下所示:

Pyqt5 实现窗口缩放,控件在窗口内自动伸缩的操作

ctrl+R 预览

Pyqt5 实现窗口缩放,控件在窗口内自动伸缩的操作

从预览图中可以看出这时的界面不支持伸缩,拖动过小的话会导致部分界面遮住不可见,这时我们就要用到布局选项,首先对上面的按钮和文本框布局按住ctrl选中要布局的控件

Pyqt5 实现窗口缩放,控件在窗口内自动伸缩的操作

根据实际情况选中工具栏上的布局按钮,我这里是网格布局

Pyqt5 实现窗口缩放,控件在窗口内自动伸缩的操作

选中后如下所示

Pyqt5 实现窗口缩放,控件在窗口内自动伸缩的操作

然后在对底下的listwidget和tablewidget进行水平布局,布局完成后如下所示,其中有个细节是还要对Qgroupbox在进行一次水平或垂直布局,具体是选中Qgroupbox控件然后点击水平布局按钮,这时Qgroupbox内部的所有控件均按照水平进行布局

Pyqt5 实现窗口缩放,控件在窗口内自动伸缩的操作

类似的对最下面的button进行垂直布局

Pyqt5 实现窗口缩放,控件在窗口内自动伸缩的操作

最重要的一步来了,就是点击主界面的空白处,然后点击网格布局(根据自己的需要)

Pyqt5 实现窗口缩放,控件在窗口内自动伸缩的操作

这时候在ctrl R预览在用右下角进行缩放可以看到是可以控件之间能够自由缩放,适配界面的大小:

Pyqt5 实现窗口缩放,控件在窗口内自动伸缩的操作

Pyqt5 实现窗口缩放,控件在窗口内自动伸缩的操作

现在基本实现缩放,但是界面的美观程度不够好,比如下面的两个按钮本应该在右下角现在确沾满了横向的整个界面,因此需要进一步美化,我们要通过添加label控件来进行留白,设计过程中先将label控件输入文字如下图所示:

Pyqt5 实现窗口缩放,控件在窗口内自动伸缩的操作

是不是感觉比之前的好看了,然后我们把label的内容换位空格就好了

Pyqt5 实现窗口缩放,控件在窗口内自动伸缩的操作

这时候界面就留有空白,比较好看!

还有一种辅助布局的方法是在属性里面,点击不同的布局会有不同的属性展示

Pyqt5 实现窗口缩放,控件在窗口内自动伸缩的操作

比方说网格布局的时候可以选择列之间的比例如图中的layoutstretch 1,2,3 代表三列宽度比列为1:2:3

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

来源:https://blog.csdn.net/weixin_44405720/article/details/88854979

标签:Pyqt5,窗口,缩放,伸缩
0
投稿

猜你喜欢

  • 说说CSS的优先权 考虑CSS的继承与层叠

    2008-12-11 13:33:00
  • PYQT5开启多个线程和窗口,多线程与多窗口的交互实例

    2023-07-19 04:21:21
  • Python3 使用selenium插件爬取苏宁商家联系电话

    2023-12-20 01:39:57
  • Python中OpenCV实现简单车牌字符切割

    2023-09-19 18:53:59
  • python工具之清理 Markdown 中没有引用的图片

    2022-02-14 11:44:39
  • Python实现的各种常见分布算法示例

    2021-12-06 18:26:15
  • Python中isnumeric()方法的使用简介

    2023-05-23 19:25:23
  • Python-docx 实现整体修改或者部分修改文字的大小和字体类型

    2022-07-19 10:07:25
  • python GUI计算器的实现

    2021-11-30 01:00:53
  • JavaScript Table行定位效果

    2009-05-25 10:47:00
  • 用python实现名片管理系统

    2022-03-27 09:34:33
  • Python flask框架端口失效解决方案

    2021-02-19 23:48:46
  • 用err.raise自定义错误信息

    2008-02-20 12:48:00
  • Linux下python与C++使用dlib实现人脸检测

    2023-06-13 16:13:20
  • asp如何自动反馈电子邮件?

    2002-01-01 06:54:00
  • Python对数据进行插值和下采样的方法

    2022-06-02 03:36:41
  • 教你pycharm运行Django第一个项目

    2021-08-25 16:40:07
  • 使用AJAX的一个简单的例子

    2007-09-21 17:55:00
  • PHPExcel冻结(锁定)表头的简单实现方法

    2023-08-18 02:35:21
  • 通过FSO进行页面计数

    2008-11-27 16:02:00
  • asp之家 网络编程 m.aspxhome.com