Суть проблемы. Имеется собственный виджет (с дочерним QProgressBar внутри), который по задумке должен выглядеть в текущем используемом системой стиле. При некотором изменении значения переменной-члена, цвет заливки прямоугольника QProgressBar необходимо изменить на другой.При любых стилях, отличных от gtk, для изменения цвета достаточно переопределить цвет highligt палитры стиля виджета, и всё работает. Но в случае с gtk изменение никак не отражается на внешнем виде. Курение исходников QGtkStyle показало, что он использует gtk-шные либы, класс QGtkWidget (недоступный снаружи) и функцию QGtkPainter.paintBox. Использовать setStyleSheet тоже не панацея - цвет изменяется, но теряется информация о скруглении прямоугольника.
|