crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> [Решено] Стиль 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
  опции профиля:
сообщение 23.3.2009, 22:18
Сообщение #2


Профессионал
*****

Группа: Участник
Сообщений: 1207
Регистрация: 8.12.2008
Из: Russia, Moscow
Пользователь №: 446

Спасибо сказали: 229 раз(а)




Репутация:   34  


Кажется есть продвижение. Решил для теста собрать программу в отладочном режиме. Не знаю почему, но скульптура собирается только в debug режиме и на это никак нельзя повлиять через CMAKE. Хотя если честно, то я вроде бы вижу везде надпись release. Как бы там нибыло я получил следующее:



Пойду теперь собирать последний снапшот, может чего поменяется...
---
Собрал, изменений нет никаких. Зато на ум пришла плохая мысль о том как легко подсунуть вирус вместо плагина и он будет запускаться с каждой программой написанной на Qt...

Похоже причина кроется в том, что один и тот же модуль загружается 2 раза: http://www.qtsoftware.com/developer/task-t...y&id=197601

Думаю чего делать дальше...
---
В общем до меня дошло, что в PATH прописан путь к .dllкам Qt, но проблема в том, что ни в папке с exe ни с плагином этих .dll небыло, поэтому каждый из модулей пытался загрузить свою копию вместо того, чтобы .exe загрузило все Qtшные dll'ки и предоставила возможность пользоваться ими - плагину. Теперь видимых ошибок не наблюдается и среди доступных стилей есть скульптура:

Цитата
"Skulpture"
"Windows"
"Motif"
"CDE"
"Plastique"
"Cleanlooks"


Но, к сожалению метод QStyle *skulpture = QStyleFactory::create(QLatin1String("Skulpture"));
возвращает нулевой указатель. Думаю дальше...
---
Я в шоке. Всего-лишь одну строку изменил в исходниках скульптора и теперь программа вообще не добавляет в список фабрики стилей этот стиль. Причем изменил все обратно и все-равно не выводит.

Блин, переменные окружения сами по себе слетают. Теперь такую хрень получаю:

Цитата
"Cannot load library D:/work/qt-win-opensource-src-4.5.0/plugins/styles/libskulpture.dll: ═х эрщфхэ єърчрээ√щ ьюфєы№."
could not load


Форменное издевательство :)
---
Снова прошелся через dependency walker. Народ вы не поверите. Плагин требует релизные QtCore4.dll и QtGui4.dll, при это сам отказывается грузится с релизной программой выдавая ошибку о различных потоках, ибо там уже идет микс дебага с релизом. Внимание, вопрос! Зачем плагин прикидывается дебажным, при этом являясь релизным? :db:

Сообщение отредактировал SABROG - 23.3.2009, 23:48
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- SABROG   [Решено] Стиль skulpture   23.3.2009, 15:08
- - FladeX   А можно подробнее про такие манипуляции со стилями...   23.3.2009, 15:54
- - Litkevich Yuriy   Цитата(FladeX @ 23.3.2009, 18:54) Что нуж...   23.3.2009, 16:18
- - SABROG   У меня возникла проблемка. Хоть стиль и собрался, ...   23.3.2009, 16:49
- - Litkevich Yuriy   а ты Qt тоже с помощью CMake собирал? может в опиц...   23.3.2009, 16:59
|- - SABROG   Цитата(Litkevich Yuriy @ 23.3.2009, 16:59...   23.3.2009, 17:04
- - Litkevich Yuriy   смотри в асистенте, я точно непомнь где. Для отлад...   23.3.2009, 17:08
|- - SABROG   Цитата(Litkevich Yuriy @ 23.3.2009, 17:08...   23.3.2009, 17:32
- - SABROG   Кажется есть продвижение. Решил для теста собрать ...   23.3.2009, 22:18
- - ViGOur   Когда начинаются такие гляки как у тебя в последне...   24.3.2009, 0:02
- - SABROG   Я разобрался во всем. Можете меня поздравить, куби...   24.3.2009, 0:27
|- - AD   Цитата(SABROG @ 24.3.2009, 0:27) http://f...   24.3.2009, 9:07
- - Litkevich Yuriy   к стати, при таком способе: Цитата(SABROG @ 2...   24.3.2009, 2:59
- - Litkevich Yuriy   у меня твоя dll'ка сходу не заработала, хотя к...   24.3.2009, 3:37
- - log1c   Цитата$QTDIR/bin/designer -style Skulpture З...   24.3.2009, 8:45
- - Litkevich Yuriy   Цитата(AD @ 24.3.2009, 12:07) Такой вопро...   24.3.2009, 9:15
- - SABROG   Цитата(Litkevich Yuriy @ 24.3.2009, 3:37)...   24.3.2009, 9:25
- - Litkevich Yuriy   Цитата(SABROG @ 24.3.2009, 12:25) - качае...   24.3.2009, 9:44
- - Kagami   Вот кусок из ассистанта ЦитатаQSettings stores set...   24.3.2009, 9:47
- - SABROG   Цитата(Litkevich Yuriy @ 24.3.2009, 9:44)...   24.3.2009, 10:01
- - FladeX   Застопорилось на этом: cmake -G "MinGW Makefil...   24.3.2009, 11:50
- - log1c   У меня нормально собралось под виндой, хотя тож сн...   24.3.2009, 12:54
|- - AD   А есть ли строки для bat-файла, который создает по...   24.3.2009, 12:59
- - FladeX   Удалил LIBRARY, все заработало. Всем спасибо! ...   24.3.2009, 13:07
- - SABROG   Добавил в вики.   24.3.2009, 16:54
- - FladeX   У меня заголовки окон в стандартном стиле остались...   24.3.2009, 17:25
|- - log1c   Цитата(FladeX @ 24.3.2009, 17:25) У меня ...   24.3.2009, 17:33
|- - AD   А на мой вопросец ответят? И еще - можно ли собрат...   24.3.2009, 17:44
- - Litkevich Yuriy   Цитата(AD @ 24.3.2009, 20:44) А на мой во...   24.3.2009, 20:05
- - SABROG   Цитата(FladeX @ 24.3.2009, 17:25) У меня ...   24.3.2009, 22:20
- - molchanoviv   Интересно а будет ли так работать тема Oxygen?   24.3.2009, 22:22
|- - SABROG   Цитата(molchanoviv @ 24.3.2009, 22:22) Ин...   25.3.2009, 22:08
- - Litkevich Yuriy   посмотрел я исходники этой скульптуры. Стиль прогр...   24.3.2009, 22:58
|- - SABROG   Цитата(Litkevich Yuriy @ 24.3.2009, 22:58...   24.3.2009, 23:18
|- - random   Цитата(Litkevich Yuriy @ 24.3.2009, 22:58...   25.3.2009, 15:57
- - molchanoviv   А разве четвертая КДЕ не отвязана от Х11? Или для ...   25.3.2009, 23:01
- - Litkevich Yuriy   Цитата(SABROG @ 26.3.2009, 1:08) что не д...   26.3.2009, 4:42
|- - SABROG   Цитата(Litkevich Yuriy @ 26.3.2009, 4:42)...   26.3.2009, 9:07
- - Litkevich Yuriy   Цитата(SABROG @ 26.3.2009, 12:07) явно по...   26.3.2009, 9:47
- - SABROG   Цитата(Litkevich Yuriy @ 26.3.2009, 9:47)...   26.3.2009, 23:33


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 6.12.2021, 2:24