[英]Python PyQt5 I wanna set the position of my Grid Layout
您可以使用布局及其setStretch
方法来实现此目的。
这是一个可运行的示例:
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *
class MainWindow(QMainWindow):
def __init__(self, parent=None) -> None:
super().__init__(parent)
self.central = QWidget()
self.layout = QVBoxLayout(self.central)
self.hlayout = QHBoxLayout()
self.btn1 = QPushButton("PushButton", self)
self.btn2 = QPushButton("PushButton", self)
self.btn3 = QPushButton("PushButton", self)
self.hlayout.addStretch()
self.hlayout.addWidget(self.btn1)
self.hlayout.addWidget(self.btn2)
self.hlayout.addWidget(self.btn3)
self.layout.addStretch()
self.layout.addLayout(self.hlayout)
self.setCentralWidget(self.central)
app = QApplication([])
window = MainWindow()
window.show()
app.exec_()
另一种方法是使用QHBoxLayout.setgeometry(QRect(x, y, w, h))
但这将强制布局进入特定的 position,如果您调整 window 的大小或出于任何其他原因,该布局将不会动态调整。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.