我定义了一个小部件,其中包含一个应显示包装文本的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;
}
最后的结果是我看到彼此重叠的元素。什么是正确的解决方案?
答案 0 :(得分:1)
如果您想setMinimumSize()
使用QLabel
,QLabel
有父{。}}。
使用QGridLayout
作为窗口小部件的父级。布局适用于孩子的最小尺寸。
如果您不想使用QGridLayout
,则可以setMinimumSize()
为父级提供适当的值。
这个值是所有孩子的最小尺寸之和。