在QToolTip中设置图像时删除边距

问题描述 投票:0回答:1

我正在尝试将图像用作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();
}

这是我从中得到的:enter image description here

图像正确。边框遵循样式表,但是我不知道红色区域来自何处。如何摆脱这种“利润”?这是QTooltip错误吗?

它看起来像这里描述的错误,但是我使用的是Qt5.12.5,应该在此处解决它:https://bugreports.qt.io/browse/QTBUG-59119

编辑:我在Windows上。图片为482x482px大。我曾有人在Linux上进行过尝试,并且那里也有多余的余地,但是要小得多。

qt qtstylesheets qtooltip
1个回答
1
投票

QToolTip的样式很时髦。它实际上是一个QLabel,但随后尝试从其父窗口小部件继承CSS ...但还设置了一些硬编码的样式属性,例如margin和indent。而且该错误并没有得到修复,至少不是一直都如此。

© www.soinside.com 2019 - 2024. All rights reserved.