Russian Qt Forum
Апрель 18, 2024, 23:33 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Почему когда окно теряет фокус, в QProgressBar меняется цвет полосы процентов?  (Прочитано 2770 раз)
billy4685
Крякер
****
Offline Offline

Сообщений: 306


Просмотр профиля
« : Март 27, 2020, 15:43 »

Здравствуйте, господа форумчане.

Недавно заметил, что у меня в приложении, полоса процентов в QProgressBar меняет
свой цвет, когда окно теряет фокус (стает неактивным). В активном окне данная полоса
процентов синяя, а в неактивном окне - белая. Для приложения использую стиль "Fusion".
Заметил что при стиле "WindowsXP" ее цвет постоянно зеленый (ниже прикреплю рисунок).

Можно ли как-то добиться, чтобы при стиле "Fusion", цвет полосы процентов при активнем
и неактивном окне был синим? Или же нужно менять стиль для QProgressBar?
Записан
tux
Крякер
****
Offline Offline

Сообщений: 399



Просмотр профиля
« Ответ #1 : Март 27, 2020, 15:49 »

А почему это должно быть по-другому? В теме активный/неактивный цвет виджета вполне могут быть (и должны) быть разными.
Записан

billy4685
Крякер
****
Offline Offline

Сообщений: 306


Просмотр профиля
« Ответ #2 : Март 27, 2020, 16:47 »

А почему это должно быть по-другому? В теме активный/неактивный цвет виджета вполне могут быть (и должны) быть разными.
Да я это понимаю, просто на белом фоне почти белая полоса процентов не очень хорошо выглядит. Хотелось бы ее либо синей сделать,
ну или другим цветом при неактивном окне. Ну походу нужно это наверное менять в стилях самого QProgressBar.
« Последнее редактирование: Март 27, 2020, 16:49 от billy4685 » Записан
tux
Крякер
****
Offline Offline

Сообщений: 399



Просмотр профиля
« Ответ #3 : Март 27, 2020, 19:44 »

Ну так и меняйте. Хоть системным стилем, хоть стилем самого прогрессбара. Общего решения я там и не нашёл в подобном случае. Там, правда, был стиль в QTextEdit, но принцип тот же самый.
P.S. есть ещё обходной спопоб: описываете 100500 стилей в ресурсах своего приложения, а меню просто даёте пользователю выбрать тот, который ему нравится.
« Последнее редактирование: Март 27, 2020, 19:48 от tux » Записан

billy4685
Крякер
****
Offline Offline

Сообщений: 306


Просмотр профиля
« Ответ #4 : Март 30, 2020, 10:08 »

Ну так и меняйте. Хоть системным стилем, хоть стилем самого прогрессбара. Общего решения я там и не нашёл в подобном случае. Там, правда, был стиль в QTextEdit, но принцип тот же самый.
P.S. есть ещё обходной спопоб: описываете 100500 стилей в ресурсах своего приложения, а меню просто даёте пользователю выбрать тот, который ему нравится.
Ясно. будем значит менять стиль.
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3258


Просмотр профиля
« Ответ #5 : Март 30, 2020, 11:16 »

Можно ли как-то добиться, чтобы при стиле "Fusion", цвет полосы процентов при активнем
и неактивном окне был синим? Или же нужно менять стиль для QProgressBar?

Стиль менять не нужно, фьюжн (по идее) целиком настраивается палитрой.
Посмотрите Theme.h/Theme.cpp в составе QtCrestor, там есть код который устанавливает цвета палитры на основе конфига, может найдете, какая комбинация отвечает за цвет прогрессбар неактивного.
Также могу предложить глянуть сорцы фьюжна и посмотреть как он рисует прогрессбар.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.046 секунд. Запросов: 22.