Python GUI 编程 | QWidget 窗口控件详解 — 坐标系统

🌟想系统化学习 GUI 编程?看看这个:[Python GUI 编程] PySide & PyQt - 学习手册-优快云博客

在后续章节中,我们将要介绍 “控件尺寸设置” 与 “控件位置设置” 相关的内容,在介绍这些内容前,我们有必要先了解一下 QWidget 控件的坐标系统以及它的位置参照。


坐标是相对于某个参照物而言的,QWidget 针对控件有无父类发展出了两套参考系。若当前控件没有父类(会自动配置为窗口控件),那么它的参考系就是整个桌面;若当前控件有父对象,则它的参考系就是它的父控件。

0x01:QWidget 控件坐标系统介绍 — 无父控件版

QWidget 的坐标系是以参考系统的左上角为坐标原点,向右为 X 轴正方向,向下为 Y 轴正方向。若当前控件无父类,则它的参考系就是整个系统桌面,如下图所示:

下面是一个示例程序,我们创建了一个空白的无父类的 QWidget 对象,并将它移动至了参考系的(100,100)的位置:

import sys
from PyQt5.Qt import *
​
# 1. 创建一个应用程序对象
app = QApplication(sys.argv)
# 2. 控件操作
widget = QWidget() # 创建窗口对象, 无父对象,参考系就是整个桌面
widget.move(100, 100)
# 3. 展示控件
widget.show()
# 4. 应用程序的执行,进入到消息循环
sys.exit(app.exec_())

0x02:QWidget 控件坐标系统介绍 — 有父控件版

QWidget 的坐标系是以参考系统的左上角为坐标原点,向右为 X 轴正方向,向下为 Y 轴正方向。若当前控件有父类,则它的参考系就是它的父类,如下图所示:

下面是一个示例程序,我们创建了两个 QWidget 对象,其中 widgetinner_widget 的父类,我们设置了 inner_widget 到参考系的(100,100)的位置展示:

import sys
from PyQt5.Qt import *
​
# 1. 创建一个应用程序对象
app = QApplication(sys.argv)
# 2. 控件操作
widget = QWidget() # 创建窗口对象, 无父对象,参考系就是整个桌面
widget.setStyleSheet("background-color: yellow;") # 设置窗口背景颜色
​
inner_widget = QWidget(widget) # 创建窗口对象, 有父对象,参考系就是父对象
inner_widget.move(100, 100)
inner_widget.setStyleSheet("background-color: red;") # 设置窗口背景颜色
# 3. 展示控件
widget.show()
# 4. 应用程序的执行,进入到消息循环
sys.exit(app.exec_())

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Blue17 :: Hack3rX

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值