5

我在 Qt Designer 中创建了一个 UI 并将其转换为 python:

在此处输入图像描述

在空白区域中,我添加了一个滚动区域和一个网格布局来对齐我的按钮。

每次我按下“CreatePose”按钮时,我都需要在网格布局中添加一个带有图标的按钮,从左上角开始。现在它将它添加到网格布局的中心。

self.ui.PoseBtn_GridLayout.setColumnMinimumWidth(4,4)
self.button = QtGui.QPushButton('')
self.button.setIcon(self._icon)
self.button.setIconSize(QtCore.QSize(128, 128))
self.button.setMinimumSize(QtCore.QSize(128, 128))
self.button.setMaximumSize(QtCore.QSize(128, 128))
self.ui.PoseBtn_GridLayout.addWidget(self.button)

如何解决这个问题?

4

1 回答 1

1

看看用这个替换你发布的代码是否适合你:

self.ui.PoseBtn_GridLayout.setColumnMinimumWidth(4,4)

spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
self.ui.PoseBtn_GridLayout.addItem(spacerItem, 1, 1, 1, 1)

spacerItem1 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
self.ui.PoseBtn_GridLayout.addItem(spacerItem1, 1, 0, 1, 1)

self.button = QtGui.QPushButton('')
self.button.setIcon(self._icon)
self.button.setIconSize(QtCore.QSize(128, 128))
self.button.setMinimumSize(QtCore.QSize(128, 128))
self.button.setMaximumSize(QtCore.QSize(128, 128))
self.ui.PoseBtn_GridLayout.addWidget(self.button, 0, 0, 1, 1)

编辑

这就是你应该如何显示你的小部件以获得预期的结果,检查Object Inspector,基本上你需要一个QWidget带有网格布局的另一个QWidget网格布局和 2 QSpaceItem

Qt 设计器截图

于 2012-12-19T13:56:39.960 回答