QListWidgetItem项彼此重叠

时间:2014-11-18 12:28:17

标签: qt qlistwidget qlabel qlistwidgetitem

我定义了一个小部件,其中包含一个应显示包装文本的QLabel(以及其他元素)。 这个QLabel有:
横向政策:最低
垂直政策:MinimumExpanding
WordWrap:true

小部件有:
LayoutSizeConstraint:SetMinimumSize

除此之外我还有另一个包含QListWidget项的小部件。 我想根据需要多次添加QLabel小部件。要做到这一点,我使用帮手:

QListWidgetItem* showWidgetOnTheList(QListWidget* view, QWidget* widget)
{
    QListWidgetItem *item = new QListWidgetItem(view);
    QSize size(view->size().width(), widget->height());
    item->setSizeHint(size);
    view->addItem(item);
    view->setItemWidget(item,widget);
    return item;
}

最后的结果是我看到彼此重叠的元素。什么是正确的解决方案?

1 个答案:

答案 0 :(得分:1)

如果您想setMinimumSize()使用QLabelQLabel有父{。}}。 使用QGridLayout作为窗口小部件的父级。布局适用于孩子的最小尺寸。

如果您不想使用QGridLayout,则可以setMinimumSize()为父级提供适当的值。 这个值是所有孩子的最小尺寸之和。