2016-11-09 74 views
0

我有填充文件名的垂直佈局。 我有一個QFileDialog來選擇文件,然後插槽添加名稱到佈局。Qt - 添加項目時調整大小布局

void convertInterface::on_browseButton_clicked() 
{ 
    fileNames = QFileDialog::getOpenFileNames(this, tr("Open File"), "./FilesToConvert", tr("Test Files (*.txt)")); 
    for each (QString item in fileNames) 
    { 
     QLabel *name = new QLabel(this); 
     name->setText(QFileInfo(item).fileName()); 
     ui.mainLayout->addWidget(name); 
    } 
} 

與3個文件的結果是:

enter image description here

與3-多個文件的結果,所以6總:

enter image description here

總體佈局:

enter image description here

如何自動調整佈局大小?

回答

1

首先,代替將QVBoxLayout的子部件的groupBox部件,直接設置groupBox的佈局。只需右鍵單擊對象檢查器中的groupBox行並在菜單中選擇排列 - [something]。如果小部件沒有孩子,則此選項可能不可用 - 作爲解決方法,只需添加一個虛擬小部件,設置佈局並刪除虛擬小部件。

其次,您還需要父窗口小部件上的某種自動佈局,所以請使用centralWidget。比groupBox會根據需要自動擴展。

如果您打破父級的佈局(centralWidget),則子部件的大小是固定的,並且不能自動更新。

+0

我的垂直佈局位於中央佈局的組框中。我應該怎麼做? – Dinendal

+0

層級不完全清楚你的問題,你可以在那裏添加它嗎?例如。 Object Inspector的屏幕截圖(如果你在QtCreator/Designer中開發)會說很多。或者指定爲文本。 – yman

+0

我已經添加了一張圖片 – Dinendal