Qt QScrollBar изменить цвет фона - PullRequest
0 голосов
/ 08 февраля 2020

Я работал над Qt Designer и хотел отредактировать цвет фона (если возможно, градиент) QScrollBar, но я не знаю, как это сделать правильно.

Когда я добавляю любой цвет фона, весь виджет меняет цвет равномерно и становится solid.

Я пытался изменить цвет области только за полосой и кнопками со стрелками.

1 Ответ

0 голосов
/ 03 марта 2020

К сожалению, со многими сложными виджетами вы не можете просто изменить свойство с таблицей стилей без всей необходимой реализации.

QScrollBar является одним из этих виджетов, и для достижения настройки фона с помощью таблиц стилей, по крайней мере, все также должны быть указаны следующие данные:

  • общий цвет фона
  • добавить / добавить подстраницу
  • цвет ручки
  • цвета добавления / подстроки ("кнопки со стрелками")

Чтобы сделать виджет более восприимчивым к визуальному восприятию, также должны быть предусмотрены границы (с псевдо-состояниями для состояний нажатия / включения / наведения) и обычно рекомендуется добавлять изображения для кнопок со стрелками (хотя маленькие стрелки можно получить с помощью css трюков с границами).

Отправной точкой является официальная документация примера таблицы стилей Qt, в которой есть раздел для настройка QScrollBar .

Обратите внимание, что использование QProxyStyle не вариант, так как многие стили рисуют полосы прокрутки в разных различными способами, а иногда они даже игнорируют некоторые «официальные» функции стиля, такие как drawControl, потому что они заботятся о всей картине в drawComplexControl, используя закрытые функции.

...