簡體   English   中英

QT網格布局設置內容邊距不起作用

[英]qt grid layout set content margin not working

我想在網格布局中放置一堆垂直布局,而這些垂直布局的數量是不確定的。 在每個垂直布局中,我在標簽中都有一張照片,在照片下方的另一個標簽中有一個標題,然后將此垂直布局插入到網格布局中:

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++;
    }

但是結果是標簽上的照片與標簽之間的距離太大,這意味着設置的內容頁邊距不起作用。 這是截圖 如何處理這個問題? tnx。

如果問題出在照片和標簽之間,則距離不是太大,這不是因為分配setContentMargins(0,0,0,0) ,實際上是因為這樣做會使距離更遠(您刪除了邊距)。

一種使照片和標簽在布局中緊湊的方法,您可以嘗試在網格布局的循環末端添加垂直間隔物。

一個建議,以防萬一您在布局問題上有類似的問題,您始終可以通過ui設計器創建一個簡單的測試,並在編碼中對實際布局進行實驗,這可以幫助您理解問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM