我正在尝试将图像用作QLabel上的工具提示。我正在遵循此处描述的方法:Use a picture or image in a QToolTip
但是我想删除该图像周围的自动边距。通过使边框在样式表中可见,并设置工具提示的背景颜色,我们可以检查附加边距不是图像的一部分,而是在边框内。但是明确地将填充设置为“ 0px”也不会将其删除。
这里是一个最小的示例:
#include "qapplication.h"
#include <QLabel>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QLabel hello("Hello world!", 0) ;
hello.resize(200, 100);
hello.setStyleSheet("QToolTip { padding: 0px; border: 2px solid green; background: red;}");
QString html = QString("<img src='test.png'>");
hello.setToolTip(html);
hello.show();
return a.exec();
}
图像正确。边框遵循样式表,但是我不知道红色区域来自何处。如何摆脱这种“利润”?这是QTooltip错误吗?
它看起来像这里描述的错误,但是我使用的是Qt5.12.5,应该在此处解决它:https://bugreports.qt.io/browse/QTBUG-59119
编辑:我在Windows上。图片为482x482px大。我曾有人在Linux上进行过尝试,并且那里也有多余的余地,但是要小得多。
QToolTip
的样式很时髦。它实际上是一个QLabel
,但随后尝试从其父窗口小部件继承CSS ...但还设置了一些硬编码的样式属性,例如margin和indent。而且该错误并没有得到修复,至少不是一直都如此。