Элементы QListWidgetItem перекрывают друг друга
Я определил виджет, который содержит QLabel (и другие элементы), который должен показать упакованный текст. Этот QLabel имеет:
Горизонтальная политика: минимум
Вертикальная политика: минимальное расширение
WordWrap: правда
Виджет имеет:
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 ответ
Если вы хотите использовать setMinimumSize()
для QLabel
, а также QLabel
есть родитель использовать QGridLayout
как родитель вашего виджета. В макете применяется минимальный размер его детей.
если вы не хотите использовать QGridLayout
, вы можете setMinimumSize()
для родителя правильное значение. это значение является суммой минимального размера всех его детей.