如果您查看我的两个图像here,您会注意到在这两个选择之间切换会更改右侧QListWidget
的大小
我用一个QGridLayout
来布置它。下面是相关的代码片段,pn_list
是相关的小部件,但是您可以看到完整的代码here:
def initUI(self):
# Layouts
grid = QtGui.QGridLayout()
ov_main = QtGui.QHBoxLayout()
ov_col1 = QtGui.QFormLayout()
ov_col2 = QtGui.QVBoxLayout()
ov_custs = QtGui.QFormLayout()
# Main window widgets
self.pn_input = QtGui.QLineEdit()
overviewBox = QtGui.QGroupBox('Overview')
self.pn_list = MyListWidget()
# Main window layout
grid.addWidget(QtGui.QLabel('Part Number'), 1, 1)
grid.addWidget(self.pn_input, 1, 2)
grid.addWidget(overviewBox, 2, 1, 1, 2)
grid.addWidget(self.pn_list, 1, 3, 2, 1)
更新:另外,作为一个后续问题,我可以做些什么来防止这种情况发生?最后,当行长度超过预先确定的字符限制时,我希望“Description”字段换行-我当前让演示者在“Description”超过此长度时截断它。在给定的字符宽度下QLabel
如何换行
我明白了。在
MyListWidget
(扩展了QListWidget
)上,我重写了sizeHint
方法,以返回我希望小部件的宽度(以像素为单位):然后,在我的
initUI
方法中,我在#Main window layout
部分添加了一行:这使右边的小部件保持恒定的宽度,但是我仍然有问题,不同的长度描述会把事情搞砸。我在我的
initUI
方法中添加了以下几行,以类似地处理descriptionQLabel
小部件,现在一切正常:lambda语句本质上是实现我对
QListWidget
所做的事情的一种更快的方法。在QListWidget
案例中,我已经在重新实现该类以添加自定义信号,因此我在那里添加了sizeHint
代码相关问题 更多 >
编程相关推荐