Есть ли способ изменить цвет фона виджета без потери его стиля? Моя проблема воспроизводится в Windows 7/Vista с темой Aero и в Windows 8. Вы можете увидеть, как это выглядит в Qt Designer:Как сохранить тему Windows Aero после установки цвета фона кнопки в Qt?
Здесь мы имеем четыре кнопки: оба топ виджеты хорошо выглядят (как и все другие виджеты этой программы), но оба нижних виджеты выглядят старым. Единственной причиной этого старого стиля является установка цвета фона этих кнопок (насколько я понимаю, Desktop Window Manager сбрасывает стиль в старый, если виджет не является стандартным).
Итак, есть ли способ заставить Desktop Window Manager нарисовать кнопку с нестандартным цветом фона? (Microsoft Office может это сделать, но я не уверен, что это стандартная функция)
Не могли бы вы порекомендовать расширение Qt, которое заменяет стандартный рисунок кнопок современной (тема Aero)? Или, может быть, вы знаете более стандартный способ сделать это?
Я нашел только один способ изменить цвет без потери стиля: нанести частично прозрачный виджет над кнопкой (и сделать его прозрачным для щелчков мыши). Вы можете увидеть результат здесь (мой кадр больше, чем необходимо - это для демонстрации, и мне нужна цветокоррекция для компенсации прозрачности, но это не критично):
Он работает, но Мне не нравится это «решение». У вас есть идея?
К сожалению, [Windows изначально не поддерживает, что] (http://stackoverflow.com/q/18745447/1329652), поэтому все, что решение, которое вы придумаете должен быть свой собственный. Лучшее, что вы можете сделать, это нарисовать кнопку на изображении/pixmap, а затем раскрасить ее по своему желанию. –