[Решено] Стиль skulpture |
Здравствуйте, гость ( Вход | Регистрация )
[Решено] Стиль skulpture |
SABROG |
23.3.2009, 15:08
Сообщение
#1
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
Хочу такую красавицу внедрить в свое приложение:
Тема называется Skulpture. Но проблема в том, что она доступна только в KDE, хотя вроде бы и создана для Qt. Может кто-нибудь знает как её использовать под виндой? Опаньки, кажись есть еспехи. Цитата C:\SABROG\skulpture-0.2.2.5>cmake -G "MinGW Makefiles"
-- Check for working C compiler: C:/MinGW/bin/gcc.exe -- Check for working C compiler: C:/MinGW/bin/gcc.exe -- works -- Check size of void* -- Check size of void* - done -- Check for working CXX compiler: C:/MinGW/bin/g++.exe -- Check for working CXX compiler: C:/MinGW/bin/g++.exe -- works -- Looking for Q_WS_X11 -- Looking for Q_WS_X11 - not found. -- Looking for Q_WS_WIN -- Looking for Q_WS_WIN - found -- Looking for Q_WS_QWS -- Looking for Q_WS_QWS - not found. -- Looking for Q_WS_MAC -- Looking for Q_WS_MAC - not found. -- Found Qt-Version 4.5.0 WARNING: *** KDE4 not found, building a Qt-only version of Skulpture *** -- Configuring done -- Generating done -- Build files have been written to: C:/SABROG/skulpture-0.2.2.5 C:\SABROG\skulpture-0.2.2.5>mingw32-make [ 33%] Generating skulpture_p.moc [ 66%] Generating skulpture.moc Scanning dependencies of target skulpture [100%] Building CXX object src/CMakeFiles/skulpture.dir/skulpture.obj C:\SABROG\skulpture-0.2.2.5\src\skulpture.cpp: In function `QRect progressBarCon tentsRect(const QStyleOptionProgressBarV2*, bool)': C:\SABROG\skulpture-0.2.2.5\src\skulpture.cpp:6642: warning: converting to `int' from `double' C:\SABROG\skulpture-0.2.2.5\src\skulpture.cpp:6654: warning: converting to `int' from `double' C:\SABROG\skulpture-0.2.2.5\src\skulpture.cpp: In function `void paintProgressBa rContents(QPainter*, const QStyleOptionProgressBarV2*, const QWidget*, const QSt yle*)': C:\SABROG\skulpture-0.2.2.5\src\skulpture.cpp:6843: warning: passing `double' fo r converting 2 of `QPoint::QPoint(int, int)' Linking CXX shared library libskulpture.dll Creating library file: libskulpture.dll.a [100%] Built target skulpture Сообщение отредактировал SABROG - 24.3.2009, 0:36 |
|
|
SABROG |
24.3.2009, 9:25
Сообщение
#2
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
а когда в коде явно указал, то прога аварийно завершается. Она обычно аварийно завершается, когда используются длл'ки из директории Qt, т.е. если не копируешь их в папку к exe'шнику твоему. Но вполне возможно, что и несовместимость версий/сборки/платформы. У меня из программы нормально запускается:
Цитата "Skulpture" "Windows" "Motif" "CDE" "Plastique" "Cleanlooks" SkulptureStyle(0x3e9a80, name = "skulpture") Да, с палитрой я заметил. Правда похоже дизайнер как-то выкручивается сам в этой ситуации, т.к. в нем цвета нормальные. Такой вопрос, а можно ли эту строчку как-нибудь включить так, чтобы пользователь при нажатии на exe-шник вызывал уже с этим стилем? Для этого надо создать ярлык на программу, а в ярлыке уже передавать параметр стиля. Или написать программу таким образом, чтобы запоминала какой стиль был выбран в прошлый раз. SABROG, а не мог бы ты инструкцию пошаговую написть, лучше б, конечно, в вики. Да инструкция простая: - качаем исходники Skulpture'a (тык) - распаковываем - качаем CMAKE, если до сих пор не стоит - запускаем консоль, где подготовлены переменные окружения указывающие на то где лежит Qt, CMAKE, MinGW - заходим в папку куда распаковали Skulpture - запускаем эти 2 команды: Цитата cmake -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release mingw32-make - заходим в подпапку src и копируем оттуда libskulpture.dll в папку $QTDIR/plugins/styles (папку styles создавать вручную), или в подпапку styles своей программы, где лежит exe'шник. - дальше используем точно также как любой другой стиль - если возникают косяки с плагином, то выставляем переменную окружения QT_DEBUG_PLUGINS=1 и включаем консоль в программе. Смотрим, что туда пишет. Если руки до Вики дойдут, то напишу. Кстати плагин поддерживает разные цветовые схемы из .ini файлов, но я пока не разбирался как преобразовать такой путь к виндовому стилю: ~/.config/SkulptureStyle.ini Волна, я так понимаю, это HOME директория? И обязательна ли папка .config ... ? --- А в винде нельзя вручную создать папку, где содержится точка Ага, ищет он файл для QSettings в QSettings::UserScope. В HOME папке. Вроде копернул 2 файла, пока безрезультатно. Сообщение отредактировал Litkevich Yuriy - 24.3.2009, 10:18 |
|
|
Текстовая версия | Сейчас: 3.10.2024, 23:56 |