赞
踩
本篇推文共计1000个字,阅读时间约1分钟。
布局管理是GUI编程中的重要部分。布局管理是一种如何在应用窗口上放置组件的方法。
我们可以通过两种基本方式来管理布局。
绝对定位和布局类。
今天我们首先来谈谈的是PyQt编程中的绝对定位,绝对定位就是每个控件按程序员自己指定的位置进行放置。
简单明了就是"不要你觉得,要我觉得"。
可能听到这里你一脸懵逼,不知道为什么,下面本文就来为你解释。
当你使用绝对定位,我们首先要了解以下窗口限制:
1.如果我们调整了窗口的大小,窗口里面控件的大小和位置保持不变,不会随着窗口的改变而改变。
2.在不同平台上,应用程序看起来可能会不同。
3.更改字体可能会破坏应用程序的布局。
4.如果决定改变布局,我们必须将每个控件彻底的加以修改,这个过程是很繁琐和耗时的。
我们来看以下代码例子:
- import sys
- from PyQt5.QtWidgets import QApplication, QWidget, QLabel
- class Example(QWidget):
-
- def __init__(self):
- super().__init__()
- self.initUI()
-
- def initUI(self):
- lbl1 = QLabel('我是一个码农', self)
- lbl1.move(15, 10)
-
- lbl2 = QLabel('欢迎大家关注本公众号', self)
- lbl2.move(35, 40)
-
- lbl3 = QLabel('你的支持是我不断前行的动力', self)
- lbl3.move(55, 70)
-
- self.setGeometry(300, 300, 250, 150)
- self.setWindowTitle('绝对定位演示')
- self.show()
-
- if __name__ == '__main__':
- app = QApplication(sys.argv)
- ex = Example()
- sys.exit(app.exec_())
在我们的例子中使用的都是标签(Label)。我们通过提供x和y的坐标值来定位它们。坐标系的原点是控件的左上角。x值增长是由左到右。y值增长是从上到下。
如下代码截图:
- lbl3 = QLabel('你的支持是我不断前行的动力', self)
- lbl3.move(55, 70)
整个程序执行起来如下所示:
总结一下绝对定位的缺点:
1.窗口变化时,要在代码中对每个组件的位置及大小进行调整。
2.标签组件设置固定大小的话,标签组件上的文本可能不会完整显示。
3.不同操作系统的默认字体并不相同,所以固定大小难以实现跨平台。
既然绝对定位有这么多缺点,那我们下期看看
另外一种管理布局的方式,敬请期待。
本文如有任何疑问,可发送疑问至后台,工作人员看到后会第一时间为你解决。
END
图片|网络
编辑|一个码农
你与世界
只差一个
公众号
喜欢本文的话麻烦你点个“关注”加“在看”
觉得写得不错的话可以点击下方“喜欢作者”
你的支持是我不断前行的动力
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。