Удалите поля при установке изображения в QToolTip - PullRequest
0 голосов
/ 05 ноября 2019

Я пытаюсь использовать изображение в качестве всплывающей подсказки на QLabel. Я следую описанному здесь методу: Использование рисунка или изображения в 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

Редактировать: я нахожусьокна. Изображение размером 482x482px. У меня был кто-то, кто попробовал это на Linux, и это нежелательное поле также было, но гораздо меньше.

...