pyqt窗口大小变化控件随着改变
时间: 2023-08-21 13:08:38 浏览: 176
控件跟随窗体大小变化而变化
5星 · 资源好评率100%
在 PyQt 中,可以使用布局管理器来实现窗口大小变化时控件自动调整大小的效果。常用的布局管理器有 QHBoxLayout 和 QVBoxLayout。下面是一个示例代码,演示了如何使用 QVBoxLayout 实现窗口大小变化时控件自动调整大小:
```python
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QLabel
app = QApplication([])
window = QWidget()
layout = QVBoxLayout()
label1 = QLabel("Label 1")
label2 = QLabel("Label 2")
# 将控件添加到布局中
layout.addWidget(label1)
layout.addWidget(label2)
# 将布局应用到窗口
window.setLayout(layout)
# 设置窗口的初始大小
window.resize(400, 300)
# 设置窗口大小变化事件
def on_window_resized():
label1.adjustSize()
label2.adjustSize()
window.resizeEvent = on_window_resized
window.show()
app.exec_()
```
在这个示例中,我们创建了两个 QLabel,并将它们添加到 QVBoxLayout 中。然后,我们将 QVBoxLayout 应用到窗口上。在窗口大小变化事件 `resizeEvent` 中,我们调用 `adjustSize()` 方法来自动调整标签的大小,以适应新的窗口大小。
你可以根据需要修改控件和布局,以满足你的实际需求。
阅读全文