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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Разноцветные табы в QTabWidget. Градиент  (Прочитано 4435 раз)
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« : Февраль 15, 2022, 13:11 »

Привет, народ!

Стоит задача подсвечивать табы разными цветами с использованием градиента
Осилил только задание цвета в палитре https://github.com/dsbabkov/TabWidgetWithCustomizableTabs
При задании градиента на фон таба он рисуется чёрным, а при задании на текст градиента тот рисуется белым. Что я делаю не так?

Что я пробовал:
1. По мере рисования табов задавать градиент в styleSheet. Это помогает достичь желаемого эффекта, но нагружает процессор, т.к. постоянно дёргается paintEvent. Отключение обновлений на рисование не даёт желаемого эффекта, т.к. после включения обновлений сразу дёргается paintEvent.

Возможно тут можно завести отслеживающую переменную рисований, но совсем уж костыльно получается, боюсь, что при обновлении Qt весь этот код отлетит к чертям

2. В paintEvent завести второй таб бар и назначить ему styleSheet с градиентом. При рисовании обычного таба использовать options, style и widget чей paintEvent вызывается, а при рисовании подсвеченного таба использовать style и widget от нового объекта. Это не дало результата - таб рисуется цветом из палитры
Записан
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #1 : Февраль 15, 2022, 13:19 »

Забыл сказать, что использую linux. На винде скорее всего, нужно будет применить стиль fusion
Записан
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #2 : Февраль 15, 2022, 13:49 »

Добавил fusion стиль в https://github.com/dsbabkov/TabWidgetWithCustomizableTabs
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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