调整QListWidget的尺寸以适应其内容

时间:2011-01-18 00:33:28

标签: qt qt4 d

我有一个QListWidget的子类,小部件将文本项保存在一列和多行(通常的类型)中。我希望窗口小部件将其自身调整为文本项仍然可见的最小大小。我尝试将 resize()方法与 contentsSize()参数一起使用,这将调整窗口小部件的高度以适应文本内容,但宽度保持不变。

这是一个覆盖方法的片段,我正在测试它:

override void mousePressEvent(QMouseEvent event)
{
    this.resize(this.contentsSize());
}

注意:这是D语言,我正在使用QtD包装器库。除非我做错了,否则甚至可能是QtD错误(但我对此表示怀疑)。

1 个答案:

答案 0 :(得分:1)

如果您满足于切换到QTableView或QTreeView,您可以调用resizeColumnsToContents(),并根据生成的宽度调整窗口小部件的大小。否则,你将不得不迭代你的QListWidget内容并获得项目宽度的最大值。