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