Элементы 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() для родителя правильное значение. это значение является суммой минимального размера всех его детей.

Другие вопросы по тегам