我有一個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