QLabel рисует неправильный фон при использовании содержимого HTML


person John Doe    schedule 05.04.2018    source источник
comment
Может воспроизводиться с Qt 5.9.0 Win10. Мне кажется ошибка. Я заметил, что фон метки мерцает при изменении размера/перемещении, от прозрачного до неправильного градиента. Кроме того, при перемещении окна на мой второй экран фон становится прозрачным... Сообщить об ошибке в проекте Qt   -  person king_nak    schedule 05.04.2018
comment
в Linux с Qt 5.10.1 эта проблема также воспроизводится   -  person eyllanesc    schedule 05.04.2018


Ответы (1)


Я не уверен, что это ошибка - уже сообщалось здесь QTBUG-67541 или что ...

Добавление строки отладки при запуске метода paintEvent:

qDebug() << "size:" << event->rect() << " w:" << width() << " h:" << height();

затем вывод показывает, что GradientWidget дважды обрабатывает paintEvent:

size: QRect(0,0 442x305) w: 442 h: 305
size: QRect(12,157 418x136) w: 442 h: 305
size: QRect(0,0 444x305) w: 444 h: 305
size: QRect(12,157 420x136) w: 444 h: 305

(Наверное, устаревшее значение 12 — это свойство 'margin' VBoxLayout?)

И этот 'rect()' используется для вычисления градиента.

Временный обходной путь может быть:

QLinearGradient gradient({0.0, 0.0}, {static_cast<qreal>(width()), static_cast<qreal>(height())});
person Ľubomír Carik    schedule 11.04.2018