![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
PeterG |
![]() ![]()
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 6 Регистрация: 21.2.2009 Пользователь №: 571 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Здравствуйте.
Мучает такой вопрос эстетического толка :) Почему в KDE 4(.2) "родные" приложения из репозиториев и других источников выглядят одинаково, а создаваемые мной проги на QT4 выбиваются из общего ряда? Вот так, например, выглядит меню Rhythmbox. ![]() А так, моя программа: ![]() И эта синева - повсюду, в QTreeWidget, во всех выделениях, меню... Местами очень кошмарно смотриться :) Что я сделал или настроил не так? Программу собирал и руками и через QtCreator, результат один и тот же. Почему так получается? Ведь QT - родной для КДЕ, следовательно, приложения должны выглядеть одинаково? |
|
|
![]() |
molchanoviv |
![]()
Сообщение
#2
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 597 Регистрация: 18.7.2008 Из: Саратов Пользователь №: 238 Спасибо сказали: 41 раз(а) Репутация: ![]() ![]() ![]() |
насколько мне помнится Rhythmbox написан на гтк. а стили приложений Qt4 настраиваются с помощью qtconfig. где можно выбрать как стиль KDE4 так и GNOME/GTK(если Qt собран с поддержкой QGtkStyle).
|
|
|
PeterG |
![]()
Сообщение
#3
|
Новичок Группа: Новичок Сообщений: 6 Регистрация: 21.2.2009 Пользователь №: 571 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
molchanoviv, Спасибо за ответ!
Пример я в самом деле привел плохой, но все равно проблема есть: все родные настройки-менюшки КДЕ хоть и чуть потемней, но все равно не настолько контрастируют и выглядят одинаково более-менее. Про qtconfig знаю, но ведь всё равно получается, что требуется допил от конечного потребителя! А хочется красоты "из коробки" :) На чем тогда написан к примеру, Konqueror, Konsole? Они все выглядят едино и допила не требуют! Как можно подровняться под них? |
|
|
Litkevich Yuriy |
![]()
Сообщение
#4
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
molchanoviv |
![]()
Сообщение
#5
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 597 Регистрация: 18.7.2008 Из: Саратов Пользователь №: 238 Спасибо сказали: 41 раз(а) Репутация: ![]() ![]() ![]() |
На KDElib. В основном по дефолту в дистрибутивах для Qt4 приложений уже стоит тема KDE4, но в некоторых все-таки приходится настраивать вручную. Все зависит от дистрибутивостроителя, ну или если человек вручную собирал Qt от юзера.
|
|
|
PeterG |
![]()
Сообщение
#6
|
Новичок Группа: Новичок Сообщений: 6 Регистрация: 21.2.2009 Пользователь №: 571 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
а какой ты стиль используешь? задаешь руками или нет? Не задаю, по сути делаешь а-ля "Hello world" и результат такой получается... На KDElib. В основном по дефолту в дистрибутивах для Qt4 приложений уже стоит тема KDE4, но в некоторых все-таки приходится настраивать вручную. Все зависит от дистрибутивостроителя, ну или если человек вручную собирал Qt от юзера. Но ведь когда переключаешь тему в КДЕ, то все приложения об этом сразу же знают, а моя - одна такая :) (Точнее, не одна, такое же поведение наблюдается и у Sun VirtualBox) Я правильно понял, что идеального пути не существует, что приложение всё равно будет в расплату за кросс-платформенность выглядеть чуть не так, как все? В принципе это не критично, пользоваться-то можно :) Просто люди, для которых надо писать эти самые программы сидят под вендой и КДЕ. Есть ли возможность поставить какие-нибудь флаги в .pro файл, например, что бы заставить прогу работать почти как родное в КДЕ? И еще вопрос немного не по теме :) Где программа через QSettings хранит свои настройки в Никсах? В домашней папке есть папка .qt, но там не то совсем... |
|
|
Litkevich Yuriy |
![]()
Сообщение
#7
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
Где программа через QSettings хранит свои настройки в Никсах? см. тутЯ правильно понял, что идеального пути не существует, что приложение всё равно будет в расплату за кросс-платформенность выглядеть чуть не так, как все? В принципе это не критично, пользоваться-то можно нет все таки выход должен быть.
![]() |
|
|
molchanoviv |
![]()
Сообщение
#8
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 597 Регистрация: 18.7.2008 Из: Саратов Пользователь №: 238 Спасибо сказали: 41 раз(а) Репутация: ![]() ![]() ![]() |
Но ведь когда переключаешь тему в КДЕ, то все приложения об этом сразу же знают, а моя - одна такая ![]() Если ты в qtconfig выставишь тему KDE, то при смене темы в приложениях KDE тема будет меняться и в Qt приложениях. |
|
|
void* |
![]()
Сообщение
#9
|
![]() Программист-самоучка ![]() ![]() ![]() Группа: Участник Сообщений: 429 Регистрация: 4.6.2008 Пользователь №: 193 Спасибо сказали: 28 раз(а) Репутация: ![]() ![]() ![]() |
у меня кстати та же проблема с Qt собранной вручную. Если в qtconfig выбрать тему Oxygen, то вместо нее все приложения работают под виндосовской темой. Не пойму что ей не хватает
может нужно собирать с какими-то особыми опциями? |
|
|
void* |
![]()
Сообщение
#10
|
![]() Программист-самоучка ![]() ![]() ![]() Группа: Участник Сообщений: 429 Регистрация: 4.6.2008 Пользователь №: 193 Спасибо сказали: 28 раз(а) Репутация: ![]() ![]() ![]() |
и как кстати собирать с поддержкой какого-либо стиля?
|
|
|
PeterG |
![]()
Сообщение
#11
|
Новичок Группа: Новичок Сообщений: 6 Регистрация: 21.2.2009 Пользователь №: 571 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Если ты в qtconfig выставишь тему KDE, то при смене темы в приложениях KDE тема будет меняться и в Qt приложениях. У меня по-умолчанию стояла тема Cleanlooks. Ничего, в принципе, не учитывая этой синевы... Но темы именно КДЕ там нет в списке! Есть Oxygen, но это и есть Oxygen, независимо от выбранной в системе теме. Поставил тему GTK, оказалась самой юзабельной :) И самое главное, тема Qt все-таки меняется от стандартной! Похоже, я ввел себя и всех в заблуждение :( Эта синева - появляется (у меня) в темах Cleanlooks и Plastique. (Обе у меня любимые и ставлю их как правило) Поставил системный стиль гуя - GTK - и все стало замечательно. (Кстати, вид всё равно из общего ряда выбивается, но все равно куда более симпатичней получилось) :) и как кстати собирать с поддержкой какого-либо стиля? А все стили и так являются встроенными :) Стиль можно выбирать программно насколько я знаю. см. QStyle |
|
|
Litkevich Yuriy |
![]()
Сообщение
#12
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
А все стили и так являются встроенными нет не все, некоторые зависят от целевой системы. ![]() Цитата Предупреждение: Стиль доступен только на платформе Windows XP, поскольку использует механизм стилей Windows XP. , тыкК стати в Qt4.3.5 написано: Цитата В Qt на платформе Unix стиль Motif является стилем по умолчанию графического интерфейса пользователя , тыкУ меня на лине вообще сегфлот произошел, я забыл что стиль в исходнике установлен "windows". PeterG, я думаю стоит задать трольтеховцем вопрос, через трекер, насчет несоответствия стиля самособранной Qt, тому, что у собранной поставщиком дистрибутива. может подскажут как быть. (я как-то обращался, ответили в течении двух дней) |
|
|
PeterG |
![]()
Сообщение
#13
|
Новичок Группа: Новичок Сообщений: 6 Регистрация: 21.2.2009 Пользователь №: 571 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
void* |
![]()
Сообщение
#14
|
![]() Программист-самоучка ![]() ![]() ![]() Группа: Участник Сообщений: 429 Регистрация: 4.6.2008 Пользователь №: 193 Спасибо сказали: 28 раз(а) Репутация: ![]() ![]() ![]() |
Стиль можно выбирать программно насколько я знаю. см. QStyle я итак это все знаю, просто думал что может быть что-то пропустил тык я знаю что стиль винды доступен только в винде, но в списке стилей есть какой-то стиль с названием Windows, который типа похож на старый виндосовский стиль, так вот что при выборе стиля Oxygen, что при выборе стиля Windows все время используется такой стиль, как на скриншоте ниже. Остальные стили, естественно, работают нормально. ![]() Сообщение отредактировал void* - 22.2.2009, 20:18 |
|
|
Litkevich Yuriy |
![]()
Сообщение
#15
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
так вот что при выборе стиля Oxygen, что при выборе стиля Windows все время используется такой стиль, системный т.е.Уменя вообще странная ситуация была, прога писалась в виндовозе и только поднего и были такие строчки: загрузился в опенСусе11, взял эти исходник и скомпилял, запускаю - сегфолт, недолгодумая воткнул стиль "пластик", компиляю. Запускаю работает, а в проге есть диалог для выбора стиля, и там отображается список доступных. Обана, вижу доступным "виндовс", выбрал - стиль приложения поменялся, нечто сренее между стандартным (в KDE3...) и виндовозным. Но работает, однако если в приведенном куске кода вернуть назад "виндовз" будет сегфолт ![]() |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 20.6.2025, 15:49 |