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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Хороший ToolBox, а не это убожество QToolBox  (Прочитано 9134 раз)
walk
Гость
« : Апрель 19, 2011, 20:00 »

Нужен нормальный тулбокс. Как это выглядит, в моём представлении. Рисовать не умею, поэтому опишу словами Улыбающийся.

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

Реализовать всё это при помощи QFrame + QLabel + QCheckBox не составляет труда, но выглядит жутко Улыбающийся.

Существует ли такой готовый или хотя бы такая кнопка?
Записан
blood_shadow
Гость
« Ответ #1 : Апрель 19, 2011, 21:53 »

если очень гламурно то тебе надо qss можешь еще попробовать ручками написать представление
элемента используя подкласс QStyle, короче возьми книгу Бланшета и посмотри 19 главу там
это все есть, насчет готовых незнаю
и еще одно "- при нажатии кнопки все остальные отжимаются (radio)" - с своем подклассе
такое реализовать труда не составит, сам такое делал
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #2 : Апрель 19, 2011, 22:04 »

qtoolbox вполне нормально выглядит не на винде. кто ж виноват что в винде нет дефолтного такого виджета?
Записан
walk
Гость
« Ответ #3 : Апрель 20, 2011, 14:37 »

Спасибо за советы. Попробую, действительно, закастомайзить QFrame через QSS. Я, кстати, под Linux разрабатываю.

Вот, кое-что удалось изобразить. Правда, как нарисовать нажатое состояние... Не технически (изменение стиля прекрасно работает через свойство pressed), а графически.
« Последнее редактирование: Апрель 20, 2011, 19:36 от walk » Записан
mutineer
Гость
« Ответ #4 : Апрель 20, 2011, 23:04 »

Правда, как нарисовать нажатое состояние... Не технически (изменение стиля прекрасно работает через свойство pressed), а графически.

Попробуй залить градиентом с обратным направлением
Записан
walk
Гость
« Ответ #5 : Апрель 21, 2011, 10:13 »

Так и сделал, но нет ощущения нажатости - кнопка не смещается вниз-вправо. Если добавить border - смещается, но появляется ненужная рамка.
Записан
Denjs
Гость
« Ответ #6 : Апрель 21, 2011, 17:10 »

Думаю автору надо курить систему стилей.
.setStyleSheet() и все что с этим связано.
Последний день разбирался со стилями -
может ещё и не совсем "айс" но согласитесь - уже гораздо лучше.

Вот что у меня получилось (это одни и те-же объекты, но во втором случае к ним сделан .setStyleSheet() с соответствующими стилями.
Полагаю автору надо вкурить способы стилевого оформления виджетов.
« Последнее редактирование: Апрель 21, 2011, 17:13 от Denjs » Записан
walk
Гость
« Ответ #7 : Апрель 21, 2011, 21:40 »

Полагаю автору надо вкурить способы стилевого оформления виджетов.

Золотые слова! Улыбающийся Книга Бланшет и Саммерфилда, любезно рекомендованная blood_shadow, полностью исчерпывает тему.
« Последнее редактирование: Апрель 22, 2011, 00:17 от walk » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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