绝对定位方法通过设置每个小部件的位置和大小(以像素为单位)来放置每个小部件。 使用绝对布局方法时,请确保您了解以下限制:
- 即使调整窗口大小,小部件的位置和大小也不会改变。
- 该应用程序在各种平台上可能看起来不同。
- 更改应用程序的字体可能会损坏布局。
- 如果想改变布局,必须从头开始,这很麻烦。
在下面示例中,我们将放置两个标签和两个具有绝对定位的按钮小部件:
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QPushButton
class MainWindow(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
label1 = QLabel('Label1', self)
label1.move(20, 20)
label2 = QLabel('Label2', self)
label2.move(20, 60)
btn1 = QPushButton('Button1', self)
btn1.move(80, 13)
btn2 = QPushButton('Button2', self)
btn2.move(80, 53)
self.setWindowTitle('Absolute Positioning')
self.setGeometry(300, 300, 400, 200)
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = MainWindow()
sys.exit(app.exec())
在实例中,使用 move() 方法设置小部件的位置。 设置标签 (label1, label2) 的 x,y 坐标并按下按钮 (btn1, btn2) 来调整位置。
坐标系从左上角开始。 x 坐标从左到右增加,y 坐标从上到下增加。
label1 = QLabel('Label1', self)
label1.move(20, 20)
运行结果:



