【PyQT5 最全学习笔记】:第二节 QWidget类 窗口创建、大小设置及内容边距等API及用法实例

前言:

第一节的学习笔记被吐槽了…,做人还是要低调,不要标题党啊…。

这次给大家带来的是PyQT5 QWidget类中窗口创建、大小设置及内容边距的相关API及用法。
这一部分内容好像在网页前端设计课程里老师提的比较多,但是在PyQt5里面好像讲的不是特别多。

笔记原文如下:

1 窗口创建相关API及用法

1.1 API :

QWidget 和QObject不同,它是我们真正开始学习的第一控件(可以被用户看到的控件)。

创建方法:

window = QWidget() 

Qwidget()中可填入参数:"(self, parent=None, flags)"
parent :父类,设置窗口父类对象,不设置为None,为顶层窗口;
flags:窗口标志。

窗口标志一览:

项目 说明
Qt.MSWindowsFixedSizeDialogHint 窗口无法调整大小
Qt.FramelessWindowHint 窗口无边框
Qt.CustomizeWindowHint 有边框但无标题栏和按钮,不能移动和拖动
Qt.WindowTitleHint 添加标题栏和一个关闭按钮
Qt.WindowSystemMenuHint 添加系统目录和一个关闭按钮
Qt.WindowMaximizeButtonHint 激活最大化和关闭按钮,禁止最小化按钮
Qt.WindowMinimizeButtonHint 激活最小化和关闭按钮,禁止最大化按钮
Qt.WindowMinMaxButtonsHint 激活最小化,最大化和关闭按钮
Qt.WindowCloseButtonHint 添加一个关闭按钮
Qt.WindowContextHelpButtonHint 添加问号和关闭按钮,同对话框
Qt.WindowStaysOnTopHint 窗口始终处于顶层位置
Qt.WindowStaysOnBottomHint 窗口始终处于底层位置
1.2实例:设置一个无法调整大小的窗口
import sys
from PyQt5.Qt import *

app = QApplication(sys.argv)
window = QWidget(flags=Qt.MSWindowsFixedSizeDialogHint)
window.show()
sys.exit(app.exec_())

2 窗口坐标及位置API及用法

2.1 窗口坐标API
项目 说明
x() 相对于父控件的x位置 顶层控件(没有父控件)则相对于桌面的x位置
y() 相对于父控件的y位置 顶层控件(没有父控件)则相对于桌面的y位置
pos() x和y的组合 包含窗口框架 QPoint(x, y)
width() 控件的宽度,不包含任何窗口框架
height() 控件的高度,不包含任何窗口框架
size() width和height的组合 不包含任何窗口框架 QSize(width, height)
geometry() 用户区域相对于父控件的位置和尺寸组合 QRect(x, y, width, height)
rect() 0, 0, width, height的组合 QRect(0, 0, width, height)
frameSize() 框架大小
frameGeometry() 框架尺寸
2.2 窗口位置API
项目 说明
move(x, y) 操控的是x, y;也就是pos 包括窗口框架
resize(width, height) 操控的是宽高 不包括窗口框架
setGeometry(x_noFrame, y_noFrame, width, height) 注意,此处参照为用户区域
adjustSize() 根据内容自适应大小
setFixedSize() 设置固定尺寸

注意:控件显示完毕之后, 具体的位置或者尺寸数据才会正确。

大部分的PyQT教程讲到窗口大小和位置的时候都会把这张非常经典的图拿出来给大家参考:
在这里插入图片描述
大家可以对照着上面的API看看。

这里也用下面的实例来帮助大家理解。

  • 14
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值