[英]How to add stretch for QGridLayout in PyQt5?
我在網格布局中創建了小部件。 小部件根據窗口進行拉伸。 是否可以避免拉伸並將它們對齊,如下圖所示? 我創建了一個代碼來實現這一點,但我覺得這不是一個簡單的解決方案。 如果有更好的解決方案來實現這一點,請分享它們。
網格布局結果:
from PyQt5.QtWidgets import *
app =QApplication([])
window=QWidget()
GL=QGridLayout(window)
GL.addWidget(QPushButton('R1C1'),0,0)
GL.addWidget(QPushButton('R1C2'),0,1)
GL.addWidget(QPushButton('R2C1'),1,0)
GL.addWidget(QPushButton('R1C1'),1,1)
window.showMaximized()
app.exec_()
要求的結果:
我的代碼:
from PyQt5.QtWidgets import *
app =QApplication([])
window=QWidget()
VL=QVBoxLayout(window);HL=QHBoxLayout();VL.addLayout(HL)
GL=QGridLayout();HL.addLayout(GL)
GL.addWidget(QPushButton('R1C1'),0,0)
GL.addWidget(QPushButton('R1C2'),0,1)
GL.addWidget(QPushButton('R2C1'),1,0)
GL.addWidget(QPushButton('R1C1'),1,1)
HL.addStretch();VL.addStretch()
window.showMaximized()
app.exec_()
QGridLaout
類沒有像QBoxLayout.addStretch()
這樣的簡單方便的方法來實現這一點。 但是可以通過添加一些空的、可拉伸的行/列來實現相同的效果,如下所示:
GL.setRowStretch(GL.rowCount(), 1)
GL.setColumnStretch(GL.columnCount(), 1)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.