我正在嘗試使用QtCreator創建一個GUI。對於這個圖形用戶界面,我需要顯示幾張不同大小的圖像。這些圖像應該互相接觸。QHBoxLayout中的部件之間的間距
我使用QWidget
與QHBoxLayout
,其中我添加包含圖像的標籤(不同大小)。
根據相關問題,我應該使用setSpacing
和setContentsMargin
來刪除這些空格,但這不行;我試了幾次。
下面的代碼:
QWidget *widget = new QWidget(ui->tagcloud);
QHBoxLayout * l = new QHBoxLayout(widget);
ui->tagcloud->setWidget(widget);
for(int i=0;i<list.size();++i)
{
QLabel *lab = new QLabel;
QPixmap pic((list[i].imgPath).c_str()); //This fetches the image
int sizeChange = 50 + (2*list[i].percent); //Calculates the size of the image
lab->setFixedSize(QSize(sizeChange, sizeChange));
lab->setPixmap(pic);
lab->setScaledContents(true);
l->addWidget(lab);
l->setSpacing(0);
}
然而,當我運行此,間距保持不變(即絕對不是零)。 如果我在佈局中添加更多標籤,間距似乎變小。
任何人都可以解釋或幫助我嗎?謝謝!
setSpacing(N)設定*最小*像素的數QBoxLayout必須放置在項目之間。但是,如果QBoxLayout有額外的空間來填充,它可以放置更多的像素比項目之間的像素。 (順便說一下,你只需要調用setSpacing(0)一次 - 在for循環的每次迭代中調用它都不會受到影響,但它也沒有任何區別) –
感謝解釋,現在一切都變得有意義了:) – Tcanarchy