PyQt5(2)——调整布局(布局管理器)第一个程序

我们拖拽一个UI文件,转为PY文件后生成一个类Ui_MainWindow

此时,我们新建一个文件,用来控制业务逻辑(继承界面中的类),跟界面分开,这样我们就完成了界面和逻辑相分离(这段代码使用率基本100%,牢牢记住)。

 1 __author__ = "WSX"
 2 import sys
 3 from PyQt5.QtWidgets import QApplication, QMainWindow
 4 from first import *            #导入了Ui_MainWindow类
 5
 6 class MyMainWindows(QMainWindow, Ui_MainWindow):   #新建一个类  Ui_MainWindow 为first中的一个类
 7     def __init__(self,parent=None):
 8         super(MyMainWindows,self).__init__(parent)
 9         self.setupUi(self)
10
11 if __name__ == "__main__":
12     #所有的PyQt5应用必须创建一个应用(Application)对象。
13     app = QApplication(sys.argv) #QApplication类管理GUI程序的控制流和主要设置,是基于QWidget的,为此特化了QGuiApplication的一些功能,处理QWidget特有的初始化和结束收尾工作。
14     mywin = MyMainWindows()
15     mywin.show()
16     sys.exit(app.exec_())

右击运行,见效果

布局管理器用来管理空间之间的排版和布局(很重要,这个必须理解):

(从上往下依次为:垂直、水平、栅格、表单布局)

1. 绝对布局

Geometry 属性用来控制布局,它在pyqt中主要用来控制 绝对坐标和自身大小。

1 self.pushButton = QtWidgets.QPushButton(self.centralwidget)
2 self.pushButton.setGeometry(QtCore.QRect(170, 170, 75, 23))
3 self.pushButton.setObjectName("pushButton")

这段代码主要设置上面所说的属性

2. 使用布局管理器布局

为什么要用布局管理器,我们觉得自己设计的界面不美观时,每次都需要手动来调整控件的位置,十分的麻烦。并且布局管理器会根据窗口的缩放来动态改变空间大小。

因此学好布局管理器十分重要!!!!!!

① 垂直布局    大家可以自己拖拽四种布局方式来观察代码变化。

② 栅格布局

③ 水平布局(介绍一下下)

这是我们水平布局的四个控件

但是我们想让他们中间留一点空隙。。。 挨的太近了。这时就需要这个控件了。哈哈哈

(Vertical spacer表示俩布局管理器 或者按钮 水平 分开一点  , 

(Horizontal spacer 表示按钮和布局管理器分开一点)

(Horizontal Line 表示分开不同的类)  注: 这些在运行时不会显出来。

3.minimumsize 和 maixmumsize(设置控件在布局管理器中的最大个最小尺寸),简单来说类似于 css 调整界面大小时,不会因为界面很小变为特别小。

4.sizepolicy

sizeHint(控件被期望的尺寸) 和 minisizeHint(控件被压缩最小尺寸) 需要知道

sizepolicy的作用是,如果布局管理器满足不了我们,我们就需要sizepolicy进行微调。

解释一下这个吧。

Fixed: 代表控件具有sizeHint 所提示的尺寸并且不改变

还可以设置 Tab 快捷键 控件切换的顺序(获得焦点)

原文地址:https://www.cnblogs.com/WSX1994/p/10134648.html

时间: 2024-10-12 16:40:11

PyQt5(2)——调整布局(布局管理器)第一个程序的相关文章

向Windows 日志管理器写入系统程序日志信息

标准样例代码: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Diagnostics; using System.Diagnostics.Eventin

【Java Swing探索之路系列】之三:Java Swing布局管理器组件

作者:郭嘉 邮箱:[email protected] 博客:http://blog.csdn.net/allenwells github:https://github.com/AllenWell 一 BorderLayout BorderLayout是一种简单的布局策略,可以将其看作一个组件.它把容器分为东.南.西.北.中5个区域,每个组件将占据某个区域.而 这5个区域分别被命名为NORTH, WEST, EAST, CENTER, SOUTH,它们都被定义为静态 常量.静态常量可以直接引用,如

【Swing 2】布局管理器上

很苦逼的是,每次想记录一个小程序,发现,要给别人讲清楚,总是得分很多模块讲解. 所以今天来讲下Swing组件的三大布局管理器. 参考:<Head First Java>第十三章 1. BorderLayout--边界布局 2. FlowLayout--顺序布局 3. BoxLayout--不知道叫啥 1. BorderLayout(边界布局) 该管理器把背景分成东南西北中五大块,这是框架默认的布局管理器 1 package demo; 2 3 import javax.swing.*; 4 i

动画布局管理器

package cativity.cyq.layoutanimation; import android.support.v7.app.ActionBarActivity; import android.support.v4.app.Fragment; import android.os.Bundle; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuItem; impor

英特尔? 硬件加速执行管理器安装指南

介绍 本文将指导您安装英特尔? 硬件加速执行管理器(英特尔? HAXM),这是一款可以使用英特尔? 虚拟化技术(VT)加快 Android* 开发速度的硬件辅助虚拟化引擎(管理程序). 前提条件 英特尔 HAXM 要求首先安装 Android* SDK (版本为 17 或更高). 更多信息,请访问 Android* 开发人员网站 ( http://developer.android.com/sdk /). 系统要求 硬件要求: 支持 VT-x.EM64T 和病毒防护 (XD) 功能的英特尔? 处

Linux软件包管理器rpm与yum

在我们的运维工作,总是避免不了安装某些软件,或者编译安装某些软件,我们知道操作系统当中的程序都是有程序员通过开发工具开发的来,程序员直接编写的纯文本的文档我们称之为源代码,但我们的计算机只能识别二进制程序,那么必须要将源代码变成计算机能识别的二进制程序,这里需要通过编译器来进行编译,将源码转换成二进制程序,再通过安装即可. 还有一类程序就是二进制程序,系统是由某些厂商来做的,在厂商的系统上编译出来的程序,自然就在系统上运行了,这里是由厂商直接编译好程序然后释放出来给用户,如此一来,由于我们本来就

英特尔&#174; 硬件加速执行管理器安装指南 — Microsoft Windows*

介绍 本文将指导您安装英特尔® 硬件加速执行管理器(英特尔® HAXM),这是一款可以使用英特尔® 虚拟化技术(VT)加快 Android* 开发速度的硬件辅助虚拟化引擎(管理程序). 前提条件 英特尔 HAXM 要求首先安装 Android* SDK (版本为 17 或更高). 更多信息,请访问 Android* 开发人员网站 (http://developer.android.com/sdk/). 系统要求 硬件要求: 支持 VT-x.EM64T 和病毒防护 (XD) 功能的英特尔® 处理器

rpm程序包管理器详解

1. 程序包管理器的功能 我们知道,由程序员编写并提供的程序源代码要转换成目标二进制格式才能在计算机上运行起来,但用户要在平台上使用时需要手动编译安装后才能使用,对于普通用户来说有一定难度.因此为了降低普通用户对应用程序的使用难度,程序员可在提供源代码的同时提供已在特定环境下编译好的程序文件,只要用户的平台环境和程序员的平台环境相同,就可以通过解压程序员提供的二进制格式文件即可使用,而无需自己手动编译安装. 一个已编译好的程序由二进制程序.库文件.配置文件和帮助手册等组成,而程序包管理器的功能就

程序包管理器(上)

一个编译好的二进制程序应用文件的组成部分有二进制文件.库文件.配置文件.帮助文件,用户在安装时设置繁琐,而且在用户升级.卸载等操作时更为麻烦.为了提升使用效率及自动简化操作,这就迫在眉睫的需要有一款程序包管理器.. 程序包管理器的主要功能它到底有哪些呢?它的主要功能是将编译好的应用程序的各组成文件打包一个或多个程序包文件,从而方便快捷地实现程序包的安装.卸载.查询.升级和校验等管理操作.而现在主要有四种主流的程序包管理器:(1)Debian开发的程序包管理器,程序包管理器叫做dpt程序包管理器,

Win 管理器 运行命令 大全(Windows下的DOS运行命令)

DOS 运行命令管理器字符大全 Win 管理器  运行命令 大全(Windows下的DOS运行命令) Nslookup-------IP 地址侦测器 explorer-------打开资源管理器 devmgmt.msc--- 设备管理器 progman--------程序管理器 taskmgr-----任务管理器(2000/ xp/ 2003 ) ntmsmgr.msc----移动存储管理器 eventvwr-------事件查看器 sysedit--------系统配置编辑器 regedt32