pyqt5 qmainwindow调整控件位置
时间: 2023-06-25 18:06:53 浏览: 104
在 PyQt5 中,通过 QMainWindow 的 setCentralWidget() 方法设置的控件会自动居中显示,如果需要调整控件位置,可以使用布局管理器来实现。
以下是一个简单的例子,使用 QHBoxLayout 布局管理器将两个按钮放在 QMainWindow 的顶部:
```python
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton, QHBoxLayout, QWidget
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
# 创建两个按钮
button1 = QPushButton("Button 1")
button2 = QPushButton("Button 2")
# 创建一个水平布局管理器
hbox = QHBoxLayout()
# 向布局管理器中添加两个按钮
hbox.addWidget(button1)
hbox.addWidget(button2)
# 创建一个 QWidget 对象,并将布局管理器设置为该对象的布局管理器
widget = QWidget()
widget.setLayout(hbox)
# 将 QWidget 对象设置为 QMainWindow 的中心窗口
self.setCentralWidget(widget)
# 设置主窗口的标题和大小
self.setWindowTitle("Main Window")
self.setGeometry(100, 100, 300, 200)
if __name__ == "__main__":
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
```
在此示例中,我们创建了两个 QPushButton 对象,然后创建了一个 QHBoxLayout 布局管理器,并向其中添加了这两个按钮。然后我们创建了一个 QWidget 对象,并将布局管理器设置为该对象的布局管理器。最后,我们将 QWidget 对象设置为 QMainWindow 的中心窗口。
你可以通过修改布局管理器的参数来调整控件的位置和大小,例如通过修改 QHBoxLayout 的 spacing 和 stretch 参数,或通过使用其他布局管理器(如 QVBoxLayout 或 QGridLayout)来实现更复杂的布局。
阅读全文