您如何更改 a 的行为以QListWidget
调整其高度而不是选择(看似任意的)高度并添加滚动条?看截图:
's 应该在QListView
水平方向上填充尽可能多的空间(如果您愿意,可以创建尽可能多的“列”。)然后它们根据需要包装并制作尽可能多的行以适合所有项目。这些计算应在调整窗口大小时进行调整。这一切都很好。
但是,我想要发生的是,与其高度保持不变,QListView
不如垂直增长或收缩,并且永远不需要任何滚动条。如有必要,滚动将在QWidget
承载所有标签和列表的父级上处理。似乎一旦QListWidget
建立了高度(不确定它的默认值来自哪里),它就永远不会改变。在某些情况下它太大(参见上面的第二个“测试”列表)而在其他情况下太小(参见上面的第一个“空白地图”列表。)
上面的布局并不令人惊讶:两个QLabel
和两个QListWidget
在 aQVBoxLayout.
下面是我在QListWidget
's 上设置的属性:
setMovement(QListView::Static);
setResizeMode(QListView::Adjust);
setViewMode(QListView::IconMode);
setIconSize(QSize(128, 128));
(我已经尝试设置水平和垂直滚动条策略,但这只是关闭滚动条,剪切内容。不是我想要的。)