![]() |
|
|
![]()
|
|
| XavierElf |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 200 Регистрация: 24.1.2007 Где: г. Тверь Репутация: нет Всего: 1 |
Проблема заключается в том, что нужно сделать приложение с поддержкой скинов, то есть вместо стандартного заголовка и границ окна поставить свои. Для виджетов используемых в приложении подошло использование css стилей, а вот с диалогами проблема. Они поддерживают только свойство background. Есть ли возможность применения скинов для диалогов созданных в дизайнере?
--------------------
Даешь открытые исходники! |
|||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 7 Всего: 162 |
||||
|
||||
| XavierElf |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 200 Регистрация: 24.1.2007 Где: г. Тверь Репутация: нет Всего: 1 |
Цитирую Qt Assistant:
Это сообщение отредактировал(а) XavierElf - 8.4.2008, 13:28 --------------------
Даешь открытые исходники! |
|||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 7 Всего: 162 |
XavierElf, чего-то я тогда не понял - проблема решена или нет?
|
|||
|
||||
| XavierElf |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 200 Регистрация: 24.1.2007 Где: г. Тверь Репутация: нет Всего: 1 |
Нет, проблема не решена. Я хочу отрисовывать окно без использования стандартного фрейма, создаваемого менеджером окон.
--------------------
Даешь открытые исходники! |
|||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 7 Всего: 162 |
||||
|
||||
| XavierElf |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 200 Регистрация: 24.1.2007 Где: г. Тверь Репутация: нет Всего: 1 |
Гм... Ну в принципе близко. Только вот со скином не совсем ясно. Ибо к сожалению CSS используемый в qt не полностью поддерживается. То есть стандартная модель позволяет задать 9 частей (верхний левый, верхний центральный, верхний правый, центральный левый, центральный, центральный правый, нижний левый, нижний центральный и нижний правый) а в qt можно использовать одну только цельную часть, которой максимум, что можно - это замостить бэкграунд. А мне бы хотелось чтоб угловые части были постоянны, а остальные можно было размножить повтором (repeat-x, repeat-y, repeat-xy). Со свойством border это реально сделать, но QDialog его не поддерживает :(
--------------------
Даешь открытые исходники! |
|||
|
||||
| pilotnet |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 22.4.2008 Репутация: нет Всего: нет |
Какая операционная система ?
если линукс не плучается может из-за того что в линуксе за оформлением окна отвечает не сама программа а "window decorator" под KDE есть kde window decorator под gnome - gnome window decorator ?? |
|||
|
||||
| XavierElf |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 200 Регистрация: 24.1.2007 Где: г. Тверь Репутация: нет Всего: 1 |
Ну ось-то линукс(Kubuntu 7.10), но за оформление окна отвечает не только в линуксе window manager в виндузе тоже есть менеджер, который рисует рамку окна (яркий пример стили Windows XP). Вообще, конечно обойти менеджер окон как тут было выше подсказано можно через флаг Qt::FramelessWindowHint, но это не то что я хотел бы. В случае с этим флагом отрисовка декораций полностью ложится на плечи программиста, кроме того придётся переопределять все эвенты с которыми работает менеджер окон, а мне этого не хотелось бы делать. Как говорится, зачем изобретать велосипед? Я, конечно, в создании приложений с поддержкой скинов новичёк и не знаю, может быть это нормально переопределять события? Хотелось бы получить ответ от тех кто занимался(занимается) созданием приложений с поддержкой скинов. --------------------
Даешь открытые исходники! |
|||
|
||||
| pilotnet |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 22.4.2008 Репутация: нет Всего: нет |
XavierElf, не window manager а именно window decorator
Qt::FramelessWindowHint а эти флагом вы просто отключите резайз + перемещение и рисовку бордеров В любом случае надо будет переопределять евенты и самому рисовать свои бордюры или не рисовать на скинах ! как виндов менеджер определить что нужно ресайзить или передвигать виджеты если вы сами нарисовали бордюра а не он ?? Все нужно делать самостоятельно Это сообщение отредактировал(а) pilotnet - 29.4.2008, 08:25 |
|||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 16 Всего: 92 |
Декоратор - понятие введённое компизом/берилом. В большинстве ВМ такое понятие отсутствует. |
|||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 7 Всего: 162 |
||||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 16 Всего: 92 |
Речь не про куте
|
|||
|
||||
![]()
|
| Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |