Russian Qt Forum

Qt => 2D и 3D графика => Тема начата: danquimby от Май 06, 2011, 13:22



Название: как сделать другой вид у виджетов
Отправлено: danquimby от Май 06, 2011, 13:22
У меня есть уже нарисованные кнопки и другие элементы контроля.
примерно вот в таком стиле
(http://elfpix.ru/files/elfpix/imagecache/w/image/1/2009/05/04/28wl7b5.jpg)

Как мне сделать ?? или переопределять у каждого элемента
void            paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);



Название: Re: как сделать другой вид у виджетов
Отправлено: Vass от Май 06, 2011, 14:45
Может в данном случае лучше воспользоваться QML для UI?


Название: Re: как сделать другой вид у виджетов
Отправлено: danquimby от Май 06, 2011, 18:07
Может в данном случае лучше воспользоваться QML для UI?
нет это не выход , это вход и точно не лучший
http://doc.crossplatform.ru/qt/4.3.5/qicon.html (http://doc.crossplatform.ru/qt/4.3.5/qicon.html)

думаю что этот класс будет лучше.


Название: Re: как сделать другой вид у виджетов
Отправлено: ufna от Май 06, 2011, 19:48
??? Причем здесь QIcon?



Название: Re: как сделать другой вид у виджетов
Отправлено: Ubuntu_linux от Май 07, 2011, 01:00
Если надо кнопку, то сделай наследника от QLabel и пихай туда картинку, а также сделай всякие сигнали и слоты.


Название: Re: как сделать другой вид у виджетов
Отправлено: danquimby от Май 08, 2011, 17:54
Если надо кнопку, то сделай наследника от QLabel и пихай туда картинку, а также сделай всякие сигнали и слоты.
То есть сделать самому визуальные отклики?
"наведение" "клиК" "селект"
То есть решений готовый кроме stylesheet нету ?
И то .. может он мне не поможет , просто все виджеты как то
страшно переделывать О_о


Название: Re: как сделать другой вид у виджетов
Отправлено: ufna от Май 08, 2011, 18:25
Как вариант - написать свой QStyle


Название: Re: как сделать другой вид у виджетов
Отправлено: ieroglif от Май 09, 2011, 06:20
можно переписать элементы вообще "с нуля" - унаследовав от чего-нить типа QAbstractButton и переопределив там paint, отрисовывая виджеты через swg
вот тут: http://code.google.com/p/ewiframework/source/browse/third_party/5waybutton/?r=46940a8648fa434414899c7da5820d8926c79ecf отличный пример =)


Название: Re: как сделать другой вид у виджетов
Отправлено: lit-uriy от Май 09, 2011, 07:13
нет, каждый элемент управления переписывать это великая глупость.

Надо просто посмотреть штатную демку: %QTDIR%\demos\affine\


Название: Re: как сделать другой вид у виджетов
Отправлено: ieroglif от Май 09, 2011, 08:41
нет, каждый элемент управления переписывать это великая глупость.

Надо просто посмотреть штатную демку: %QTDIR%\demos\affine\
дык 90% что вообще всё можно решить через QSS =)
а так человеку все варианты решения - пусть выбирает себе грабли по вкусу =)


Название: Re: как сделать другой вид у виджетов
Отправлено: danquimby от Май 09, 2011, 18:37
нет, каждый элемент управления переписывать это великая глупость.

Надо просто посмотреть штатную демку: %QTDIR%\demos\affine\
дык 90% что вообще всё можно решить через QSS =)
а так человеку все варианты решения - пусть выбирает себе грабли по вкусу =)
Ну я человек темный =) делаю на том gui на чем скажут , так как они еще и деньги
приплачивают ))) но вот недавно перелез на qt потому и вопросы странный.
А возможно узнать полную таблицу команд qss а то лазаю , и не чего полного
и не найду.  ::)


Название: Re: как сделать другой вид у виджетов
Отправлено: lit-uriy от Май 10, 2011, 11:00
http://doc.crossplatform.ru/qt/4.5.0/stylesheet-reference.html


Название: Re: как сделать другой вид у виджетов
Отправлено: danquimby от Май 10, 2011, 14:06
спасибо то что нужно ... вопросов больше нема ) по данной теме
всем спс