当我创建一个 QGridLayout 并向其添加几个小部件时,一些小部件不会拉伸以填充包含它的布局部分。
class Grid(QGridLayout):
def __init__(self, grid_widget):
arrow = QPixmap("icons/arrow.png") #initial image is facing up
self.arrows = []
locs = [(0,1),
(0,2),
(1,2),
(2,2),
(2,1),
(2,0),
(1,0),
(0,0)]
for rot in range(len(locs)):
transform = QTransform().rotate(45*rot)
icon = arrow.transformed(transform, Qt.SmoothTransformation)
self.arrows.append(ExpandButton(icon, rot, grid_widget)) #ExpandButton inherits from QPushButton
for i, loc in enumerate(locs):
self.addWidget(self.arrows[i], loc[0], loc[1])
self.addWidget(grid_widget, 1, 1)
Run Code Online (Sandbox Code Playgroud)
如您所见,侧面的 QPushButton 不会像顶部的 QPushButton 那样拉伸以填充布局。有什么办法可以解决这个问题,以便侧面的 QPushButtons 垂直拉伸以填充布局,例如顶部的 QPushButtons 如何水平拉伸以填充那里的布局?
据我所知,按钮(默认情况下)只能水平扩展 - 每个人都期望低按钮。
您必须设置垂直和水平扩展。
button.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7273 次 |
| 最近记录: |