Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Adbel от Май 17, 2011, 15:48



Название: Изменение внешнего вида кнопок
Отправлено: Adbel от Май 17, 2011, 15:48
Всем привет, я в фотощопе сделал кнопки, и их нужно применить в программе. Но я незнаю как работать со стилями.
Спасибо


Название: Re: Изменение внешнего вида кнопок
Отправлено: GreatSnake от Май 17, 2011, 16:22
Всем привет, я в фотощопе сделал кнопки, и их нужно применить в программе. Но я незнаю как работать со стилями.
Спасибо
Коли хочешь такие кнопки - про стили можешь забыть.
В Qt поддерживаются только прямоугольные кнопки.
Либо меняй стиль, либо пиши свой виджет.


Название: Re: Изменение внешнего вида кнопок
Отправлено: 0x0001 от Май 18, 2011, 11:27
самое простое: создайте свой класс
class MyStyle : public QWindowsStyle

в классе переопределите функции: polish,unpolish,drawPrimitive,drawItemText, и т.д. какие надо....

в drawPrimitive используйте PNG картинки - они с Альфа.

далее примените новый стиль к вашей кнопке:
MyStyle *style = new MyStyle(...) ;
button->setStyle(style);


Название: Re: Изменение внешнего вида кнопок
Отправлено: GreatSnake от Май 18, 2011, 12:04
2 0x0001 :
Ты видел какие кнопки хочет TC? Геометрия у них какая?
Стили в Qt поддерживают только QRect, а TC потребуется QPolygon.
Так что про стили можешь забыть. Только свой виджет.