在 PyQt 中,可以通过以下方法获取、设置和限制控件的尺寸:size()、setSizeIncrement(width, height)、setFixedSize(width, height)、setMinimumSize(width, height)、setMaximumSize(width, height)。
- size():获取控件的大小。
- setSizeIncrement(width, height):设置控件的大小增量,即用户在调整控件大小时每次增加或减少的大小。
- setFixedSize(width, height):设置控件的固定大小,即控件的大小不能超过所设置的大小。
- setMinimumSize(width, height):设置控件的最小大小,即控件的大小不能小于所设置的大小。
- setMaximumSize(width, height):设置控件的最大大小,即控件的大小不能大于所设置的大小。
下面给出一个例子,演示了如何获取、设置和限制控件的尺寸:
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QVBoxLayout
if __name__ == '__main__':
app = QApplication([])
# 创建一个 QWidget 控件
widget = QWidget()
# 设置控件的最小大小为 200x200 像素
widget.setMinimumSize(200, 200)
# 设置控件的最大大小为 400x400 像素
widget.setMaximumSize(400, 400)
# 设置控件的固定大小为 300x300 像素
widget.setFixedSize(300, 300)
# 获取控件的大小并输出
size = widget.size()
print("widget size:", size.width(), size.height())
# 创建一个 QLabel 控件并将其添加到 QWidget 控件中
label = QLabel("Hello, World!", widget)
label.setAlignment(Qt.AlignCenter)
# 创建一个 QVBoxLayout 布局并将其设置为 QWidget 控件的布局
layout = QVBoxLayout(widget)
layout.addWidget(label)
# 显示 QWidget 控件
widget.show()
app.exec_()
在这个例子中,我们创建了一个 QWidget 控件,并通过 setMinimumSize、setMaximumSize 和 setFixedSize 方法分别设置了控件的最小大小、最大大小和固定大小。然后,我们调用 size 方法获取控件的大小,并输出宽度和高度。最后,我们创建了一个 QLabel 控件并将其添加到 QWidget 控件中,创建了一个 QVBoxLayout 布局并将其设置为 QWidget 控件的布局。最终,我们将 QWidget 控件显示出来,并进入主事件循环。