簡體   English   中英

如何在QLabel中設置縮進到QImage?

[英]How to set indention to QImage in QLabel?

我有一個QImage並希望在Qlabel上設置它。 為此,我使用的是QPixmap 像這樣的東西

QPixmap pixmap(QPixmap::fromImage(my_qimage));
mLabel->setIndent(42);
mLabel->setPixmap(pixmap);

在這里,我想在42像素的縮進后設置圖像。 但它不適用於Pixmap。 雖然我嘗試過像這樣的文字

mLabel->setIndent(42);
mLabel->setText("image");

它工作正常。

所以我的問題是如何在QLabel上的某些像素縮進后設置圖像? 任何幫助將不勝感激。 如果有其他方法可以實現此類行為,請建議。

您可能正在尋找setMargin(int) 屬性 :執行:

mLabel->setMargin(42);

應該解決你的問題。

但是,如果超過半QLabel寬度的大小(在此寬度為320寬度QLabel示例中為160像素),則不會顯示QPixmap圖像。 在這種情況下,有必要將alignment屬性更改為Right,進行下一步:

mLabel->setAlignment(Qt::AlignLeading|Qt::AlignRight|Qt::AlignVCenter);

在你需要設置頁邊距上述QLabel大小的一半的情況下,你需要計算保證金做下一個:

width_of_label - desiredmargin + width_of_image;

接下來是在320寬度QLabel和20像素寬度圖像的示例中(使用220作為期望的邊距 ):

320 - 220 - 20 = 80;

因此在設置上一個對齊后,您應該使用:

mLabel->setMargin(80);

暫無
暫無

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

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