我有一个QWidget rzadKontener
,它表示QListWidget
中的一行。Qt C++ - QListWidget布局不能缩放以适应内容
QWidget* rzadKontener = new QWidget;
QHBoxLayout* rzadKontenerLayout = new QHBoxLayout();
rzadKontenerLayout->setAlignment(Qt::AlignLeft);
rzadKontenerLayout->setAlignment(Qt::AlignTop);
rzadKontener->setObjectName("rzadKontener_" + poziom);
rzadKontener->setFixedHeight(200);
rzadKontener->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
rzadKontener->setLayout(rzadKontenerLayout);
(....)
QListWidgetItem* newItemRzad = new QListWidgetItem;
newItemRzad->setSizeHint(QSize(listSize*225, 200));
QString poziomText = poziom;
newItemRzad->setText(poziomText);
newItemRzad->setTextColor(QColor(Qt::white));
ui->listWidgetZdjeciaModelu->addItem(newItemRzad);
ui->listWidgetZdjeciaModelu->setItemWidget(newItemRzad, rzadKontener);
它包含许多项目,即QWidgets
与图片,按钮和文本。然后它被放置在一个QListWidget
作为一行充满了这些项目。当我一次添加5个项目时,在创建新的rzadKontener
时,会出现QListWidget
中的滚动条。但是如果我以后再添加3个,然后再添加2个项目,他们会在没有滚动条的情况下跳出界限。我如何强制布局缩放到新的rzadKontener
的大小?
很简单:您只在某个容器小部件中创建了布局。但是你希望布局的内容被缩放,对吧? rzadKontener-> addWidget(pSomeOtheWidget);我猜。 – AlexanderVX
@AlexanderVX'rzadKontenerLayout-> addWidget(...)'我猜 – jhnnslschnr
@AlexanderVX我正在那样做。 'ui-> listWidgetZdjeciaModelu-> findChild(objectName) - > layout() - > addWidget(zdjecieKontener);'其中'objectName'等于'“rzadKontener_”+ poziom'。 'zdjecieKontener'是一张图片,一个名字,一条线和一个按钮。它增加了它,但不能缩放。 –
Petersaber