2014-05-16 103 views
0

我想在網格佈局中放置一堆垂直佈局,並且這些垂直佈局的數量未定義。在每個那些垂直佈局的,我有標籤的照片,並在照片下的另一個標籤標題和我插入這個垂直佈局到網格佈局:qt網格佈局設置內容邊距不起作用

int j = 0; 
    ui->profile_post_layout->setContentsMargins(0,0,0,0); 
    for(int i = 0; i < posts.size(); i++) 
    { 
     QPixmap * pic = new QPixmap(QString::fromStdString(url)); 
     QPixmap* mypix = new QPixmap(pic->scaled(QSize(50,50), Qt::KeepAspectRatio)); 
     QLabel* photo = new QLabel; 
     photo->setPixmap(*mypix); 
     QLabel* label = new QLabel(QString::fromStdString(title)); 
     QVBoxLayout* layout = new QVBoxLayout; 
     layout->addWidget(photo); 
     layout->addWidget(label); 
     layout->setContentsMargins(0,0,0,0); 
     ui->profile_post_layout->addLayout(layout,j,i); 
     if(i % 4 == 0) 
      j++; 
    } 

但結果是帶有標籤的照片距離它太遠意味着設置的內容邊界不起作用。這是screenshot。 如何處理這個問題? TNX。

+0

是'用戶界面 - > profile_post_layout'了'QVBoxLayout'? – vahancho

+0

@vahancho不,這是一個網格佈局。 – Pooya

+0

這個「sdsad」來自哪裏? – vahancho

回答

0

如果問題是照片和標籤之間的距離太遠,這不是因爲分配setContentMargins(0,0,0,0),實際上這樣做會使距離進一步增加(您刪除邊距)。

在佈局中使照片和標籤緊湊的一種方法是,您可以嘗試在網格佈局的循環末尾添加垂直間隔條。如果你有關於佈局的問題類似的問題

一個建議,你可以隨時通過創建用戶界面設計和實驗有關的編碼您的實際佈局一個簡單的測試,這樣可以幫助理解這個問題。