Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: walk от Апрель 19, 2011, 20:00



Название: Хороший ToolBox, а не это убожество QToolBox
Отправлено: walk от Апрель 19, 2011, 20:00
Нужен нормальный тулбокс. Как это выглядит, в моём представлении. Рисовать не умею, поэтому опишу словами :).

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

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

Существует ли такой готовый или хотя бы такая кнопка?


Название: Re: Хороший ToolBox, а не это убожество QToolBox
Отправлено: blood_shadow от Апрель 19, 2011, 21:53
если очень гламурно то тебе надо qss можешь еще попробовать ручками написать представление
элемента используя подкласс QStyle, короче возьми книгу Бланшета и посмотри 19 главу там
это все есть, насчет готовых незнаю
и еще одно "- при нажатии кнопки все остальные отжимаются (radio)" - с своем подклассе
такое реализовать труда не составит, сам такое делал


Название: Re: Хороший ToolBox, а не это убожество QToolBox
Отправлено: Авварон от Апрель 19, 2011, 22:04
qtoolbox вполне нормально выглядит не на винде. кто ж виноват что в винде нет дефолтного такого виджета?


Название: Re: Хороший ToolBox, а не это убожество QToolBox
Отправлено: walk от Апрель 20, 2011, 14:37
Спасибо за советы. Попробую, действительно, закастомайзить QFrame через QSS. Я, кстати, под Linux разрабатываю.

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


Название: Re: Хороший ToolBox, а не это убожество QToolBox
Отправлено: mutineer от Апрель 20, 2011, 23:04
Правда, как нарисовать нажатое состояние... Не технически (изменение стиля прекрасно работает через свойство pressed), а графически.

Попробуй залить градиентом с обратным направлением


Название: Re: Хороший ToolBox, а не это убожество QToolBox
Отправлено: walk от Апрель 21, 2011, 10:13
Так и сделал, но нет ощущения нажатости - кнопка не смещается вниз-вправо. Если добавить border - смещается, но появляется ненужная рамка.


Название: Re: Хороший ToolBox, а не это убожество QToolBox
Отправлено: Denjs от Апрель 21, 2011, 17:10
Думаю автору надо курить систему стилей.
.setStyleSheet() и все что с этим связано.
Последний день разбирался со стилями -
может ещё и не совсем "айс" но согласитесь - уже гораздо лучше.

Вот что у меня получилось (это одни и те-же объекты, но во втором случае к ним сделан .setStyleSheet() с соответствующими стилями.
Полагаю автору надо вкурить способы стилевого оформления виджетов.


Название: Re: Хороший ToolBox, а не это убожество QToolBox
Отправлено: walk от Апрель 21, 2011, 21:40
Полагаю автору надо вкурить способы стилевого оформления виджетов.

Золотые слова! :) Книга Бланшет и Саммерфилда, любезно рекомендованная blood_shadow, полностью исчерпывает тему.