当前位置:   article > 正文

干货 | 一分钟了解PyQt的绝对定位

pyqt的绝对定位和其它的布局有啥区别


本篇推文共计1000个字,阅读时间约1分钟。

布局管理是GUI编程中的重要部分。布局管理是一种如何在应用窗口上放置组件的方法。

我们可以通过两种基本方式来管理布局。

绝对定位和布局类。

今天我们首先来谈谈的是PyQt编程中的绝对定位,绝对定位就是每个控件按程序员自己指定的位置进行放置。

简单明了就是"不要你觉得,要我觉得"。

可能听到这里你一脸懵逼,不知道为什么,下面本文就来为你解释。

当你使用绝对定位,我们首先要了解以下窗口限制:

1.如果我们调整了窗口的大小,窗口里面控件的大小和位置保持不变,不会随着窗口的改变而改变。

2.在不同平台上,应用程序看起来可能会不同。

3.更改字体可能会破坏应用程序的布局。

4.如果决定改变布局,我们必须将每个控件彻底的加以修改,这个过程是很繁琐和耗时的。


我们来看以下代码例子:

  1. import sys
  2. from PyQt5.QtWidgets import QApplication, QWidget, QLabel
  3. class Example(QWidget):
  4.     def __init__(self):
  5.         super().__init__()
  6.         self.initUI()
  7.     def initUI(self):
  8.         lbl1 = QLabel('我是一个码农', self)
  9.         lbl1.move(15, 10)
  10.         lbl2 = QLabel('欢迎大家关注本公众号', self)
  11.         lbl2.move(35, 40)
  12.         lbl3 = QLabel('你的支持是我不断前行的动力', self)
  13.         lbl3.move(55, 70)
  14.         self.setGeometry(300, 300, 250, 150)
  15.         self.setWindowTitle('绝对定位演示')
  16.         self.show()
  17. if __name__ == '__main__':
  18.     app = QApplication(sys.argv)
  19.     ex = Example()
  20.     sys.exit(app.exec_())

在我们的例子中使用的都是标签(Label)。我们通过提供x和y的坐标值来定位它们。坐标系的原点是控件的左上角。x值增长是由左到右。y值增长是从上到下。

如下代码截图:

  1. lbl3 = QLabel('你的支持是我不断前行的动力', self)
  2.         lbl3.move(55, 70)

整个程序执行起来如下所示:

总结一下绝对定位的缺点:

1.窗口变化时,要在代码中对每个组件的位置及大小进行调整。

2.标签组件设置固定大小的话,标签组件上的文本可能不会完整显示。

3.不同操作系统的默认字体并不相同,所以固定大小难以实现跨平台。


既然绝对定位有这么多缺点,那我们下期看看

另外一种管理布局的方式,敬请期待。

本文如有任何疑问,可发送疑问至后台,工作人员看到后会第一时间为你解决。

END


图片|网络

编辑|一个码农

你与世界

只差一个

公众号

喜欢本文的话麻烦你点个“关注”加“在看”

觉得写得不错的话可以点击下方“喜欢作者”

你的支持是我不断前行的动力

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小惠珠哦/article/detail/819510
推荐阅读
相关标签
  

闽ICP备14008679号