如何从左上角开始向gridlayout添加小部件

时间:2012-12-18 16:20:10

标签: python layout pyqt

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

enter image description here

在空白区域,我添加了一个scrollarea和一个gridlayout来对齐我的按钮。

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

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)

如何解决此问题?

1 个答案:

答案 0 :(得分:0)

看看更换您发布的代码是否适用于您:

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)

修改

这是你应该如何显示你的小部件以获得预期的结果,检查对象检查器,基本上你需要一个QWidget在另一个QWidget内的网格布局网格布局和2 QSpaceItem的:

Qt Designer Screenshot