[英]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.