我已经定义了一个小部件,它包含一个应该显示换行文本的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;
}最终的结果是,我看到了相互重叠的元素。正确的解决方案是什么?
发布于 2014-11-21 19:41:09
如果要对QLabel使用setMinimumSize(),并且QLabel具有父级。使用QGridLayout作为小部件的父部件。布局应用其子级的最小大小。
如果您不想使用QGridLayout,您可以将parent设置为正确的值。这个值是它的所有子级的最小大小之和。
https://stackoverflow.com/questions/26994381
复制相似问题