crossplatform.ru

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

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
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
4 страниц V   1 2 3 > »   
Начать новую тему
Ответов (1 - 39)
FladeX
  опции профиля:
сообщение 23.3.2009, 15:54
Сообщение #2


Студент
*

Группа: Участник
Сообщений: 67
Регистрация: 20.2.2009
Пользователь №: 564

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




Репутация:   0  


А можно подробнее про такие манипуляции со стилями? Что нужно, чтобы прикрутить к своей программе нестандартный стиль?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 23.3.2009, 16:18
Сообщение #3


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

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




Репутация:   94  


Цитата(FladeX @ 23.3.2009, 18:54) *
Что нужно, чтобы прикрутить к своей программе нестандартный стиль?
посмотри демку %QTDIR%\demos\affine
там использован стиль Артур, нестандартный
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 23.3.2009, 16:49
Сообщение #4


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

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

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




Репутация:   34  


У меня возникла проблемка. Хоть стиль и собрался, но нивкакую не хочет работать :)

Цитата
QFactoryLoader::QFactoryLoader() looking at "C:/sabrog/qt-win-opensource-src-4.5
.0/plugins/styles/libskulpture.dll"
"The plugin 'C:/sabrog/qt-win-opensource-src-4.5.0/plugins/styles/libskulpture.d
ll' uses incompatible Qt library. (Cannot mix debug and release libraries.)"
not a plugin


Вот думаю теперь как так не плагин и как так не релиз, если компилилось все в релизе и программа и плагин и в исходниках стиля явно интерфейс плагина определен:

class SkulptureStylePlugin : public QStylePlugin
{
    public:
        QStringList keys() const {
            return QStringList(QLatin1String("Skulpture"));
        }

        QStyle *create(const QString &key) {
            if (key.toLower() == QLatin1String("skulpture")) {
                return new SkulptureStyle;
            }
            return 0;
        }
};


Q_EXPORT_PLUGIN2(skulpture, SkulptureStylePlugin)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 23.3.2009, 16:59
Сообщение #5


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

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




Репутация:   94  


а ты Qt тоже с помощью CMake собирал? может в опициях компилятора при сборке отличия всетаки вкрались?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 23.3.2009, 17:04
Сообщение #6


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

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

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




Репутация:   34  


Цитата(Litkevich Yuriy @ 23.3.2009, 16:59) *
а ты Qt тоже с помощью CMake собирал? может в опициях компилятора при сборке отличия всетаки вкрались?

Возможно. Сейчас через профайлер Dependency Walker попробовал запустить, такое получил:

Цитата
Loaded "LIBSKULPTURE.DLL" at address 0x018D0000. Successfully hooked module.
LoadLibraryExW("C:\sabrog\qt-win-opensource-src-4.5.0\plugins\styles\libskulpture.dll", 0x00000000, DONT_RESOLVE_DLL_REFERENCES) returned 0x018D0000.
GetProcAddress(0x018D0000 [LIBSKULPTURE.DLL], "qt_plugin_query_verification_data") called from "QTCORE4.DLL" at address 0x10154ADC and returned 0x018D12D0.
Unloaded "LIBSKULPTURE.DLL" at address 0x018D0000.


Правда пришлось ветку Trolltech из реестра убить, а то он кеширует неудачные попытки загрузить модуль и далее не пытается.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 23.3.2009, 17:08
Сообщение #7


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

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




Репутация:   94  


смотри в асистенте, я точно непомнь где. Для отладки плагинов можно в pro-файлы какой-то макрос записать, тогда небудет учитываться ключ сборки при попытке загрузить плагин, и при включеной, в проект, консоли в нее посыпится более подробная информация о проблемах.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 23.3.2009, 17:32
Сообщение #8


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

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

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




Репутация:   34  


Цитата(Litkevich Yuriy @ 23.3.2009, 17:08) *
смотри в асистенте, я точно непомнь где. Для отладки плагинов можно в pro-файлы какой-то макрос записать, тогда небудет учитываться ключ сборки при попытке загрузить плагин, и при включеной, в проект, консоли в нее посыпится более подробная информация о проблемах.

Именно благодаря этому ключу (QT_DEBUG_PLUGINS) я и получил предыдущие ошибки, так то он молчит как партизан.

Попробовал стабильную версию, уже на другом компьютере. Возникли проблемы со сборкой, пришлось патчить CMAKE файл, после сборки история повторилась. Qt похоже не совсем объективна, выдает одно и то же сообщение на любую возникшую ошибку с плагином.

Сообщение отредактировал SABROG - 23.3.2009, 22:08
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 23.3.2009, 22:18
Сообщение #9


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

Группа: Участник
Сообщений: 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
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 24.3.2009, 0:02
Сообщение #10


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

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




Репутация:   40  


Когда начинаются такие гляки как у тебя в последнем посте, помогает полная перекомпиляция с очисткой прошлой. Только сегодня очередной раз наткнулся на этот глюк. У меня в дебажной версии все работало отлично без сехов и прочего, но в релизе не хотело работать и брейкпоинты шли незнамо куда.

p.s. я работаю в основном со студией.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 24.3.2009, 0:27
Сообщение #11


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

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

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




Репутация:   34  


Я разобрался во всем. Можете меня поздравить, кубики сложились воедино. :dance2:



Дело в том, что в папке со скульптором идет install.sh скрипт. Установка-компиляция идет через него под линуксом. Т.к. у нас MinGW, то запуск этого скрипта даже в MSYS не помогает, находит он студию гадина и все. В итоге я был вынужден вручную прописывать CMAKE'у, что мне надо использовать MinGW. Затем я начал рыть исходники Qt, чтобы понять почему он считает релизную .dll'ку - дебажной. Оказалось на это влияет спец-флаг для компилятора. И если этого флага нет, то как не собирай, а получишь псевдодебажный плагин. В общем начал рыть где-же скульптор влияет на флаг и нашел место в install.sh. Все свелось к таким командам:

Цитата
cmake -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release
mingw32-make


Копируем файл из src/libskulpture.dll в $QTDIR/plugins/styles (папку styles надо создавать вручную).
Затем берем любую релизную программу и вызываем её с ключем -style. Так например:

Цитата
$QTDIR/bin/designer -style Skulpture


И наслаждаемся


Собственно в этом и вся прелесть плагинов, что не требуется перекомпиляция.

Я себе сегодня мозг выносил целый день этой штукой, надеюсь мои старания небыли напрасными. Пользуйтесь :)

Совсем забыл. Вот dll'ка скомпиленная в WinXP: http://filebeam.com/ce3a8fbda945c6e5566a4b41c4c90d24 (Qt 4.5 shared release)
Для теста создаем в папке с любой программной написаной на Qt (там где релизный .exe файл) подпапку "styles" и пихаем её туда. Саму программу как обычно вызываем с ключем "-style Skulpture"

Сообщение отредактировал SABROG - 24.3.2009, 0:51
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 24.3.2009, 2:59
Сообщение #12


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

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




Репутация:   94  


к стати, при таком способе:
Цитата(SABROG @ 24.3.2009, 3:27) *
designer -style Skulpture
приложением не подхватывается палитра стиля, т.к. ее надо явно задавать:
qApp->setPalette(QApplication::style()->standardPalette());
я сначало думал, что я тупой, но Асистент, Лингвист и т.п. также используют палитру системы. Проверял на "Пластике" и "ЧистомВзгляде"

SABROG, а не мог бы ты инструкцию пошаговую написть, лучше б, конечно, в вики.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 24.3.2009, 3:37
Сообщение #13


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

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




Репутация:   94  


у меня твоя dll'ка сходу не заработала, хотя кэш плагинов почистил на всякий случай.

а когда в коде явно указал, то прога аварийно завершается.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
log1c
  опции профиля:
сообщение 24.3.2009, 8:45
Сообщение #14


Студент
*

Группа: Участник
Сообщений: 29
Регистрация: 29.12.2008
Пользователь №: 472

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




Репутация:   0  


Цитата
$QTDIR/bin/designer -style Skulpture


Запустилось, прикольный стиль :)

Цитата
а когда в коде явно указал, то прога аварийно завершается.

+1, может конечно я что-то не так сделал ^_^

Сообщение отредактировал log1c - 24.3.2009, 9:01
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 24.3.2009, 9:07
Сообщение #15


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

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

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




Репутация:   17  


Цитата(SABROG @ 24.3.2009, 0:27) *
http://filebeam.com/ce3a8fbda945c6e5566a4b41c4c90d24 (Qt 4.5 shared release)
Для теста создаем в папке с любой программной написаной на Qt (там где релизный .exe файл) подпапку "styles" и пихаем её туда. Саму программу как обычно вызываем с ключем "-style Skulpture"

Такой вопрос, а можно ли эту строчку как-нибудь включить так, чтобы пользователь при нажатии на exe-шник вызывал уже с этим стилем?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 24.3.2009, 9:15
Сообщение #16


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

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




Репутация:   94  


Цитата(AD @ 24.3.2009, 12:07) *
Такой вопрос, а можно ли эту строчку как-нибудь включить так, чтобы пользователь при нажатии на exe-шник вызывал уже с этим стилем?
ярлычек ему сделай, а всвойствах запиши эту командную строку.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 24.3.2009, 9:25
Сообщение #17


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

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

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




Репутация:   34  


Цитата(Litkevich Yuriy @ 24.3.2009, 3:37) *
а когда в коде явно указал, то прога аварийно завершается.


Она обычно аварийно завершается, когда используются длл'ки из директории Qt, т.е. если не копируешь их в папку к exe'шнику твоему. Но вполне возможно, что и несовместимость версий/сборки/платформы. У меня из программы нормально запускается:

qDebug() << a.setStyle("Skulpture");

Цитата
"Skulpture"
"Windows"
"Motif"
"CDE"
"Plastique"
"Cleanlooks"
SkulptureStyle(0x3e9a80, name = "skulpture")


Да, с палитрой я заметил. Правда похоже дизайнер как-то выкручивается сам в этой ситуации, т.к. в нем цвета нормальные.
Цитата(AD @ 24.3.2009, 9:07) *
Такой вопрос, а можно ли эту строчку как-нибудь включить так, чтобы пользователь при нажатии на exe-шник вызывал уже с этим стилем?


Для этого надо создать ярлык на программу, а в ярлыке уже передавать параметр стиля. Или написать программу таким образом, чтобы запоминала какой стиль был выбран в прошлый раз.
Цитата(Litkevich Yuriy @ 24.3.2009, 2:59) *
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 ... ?
---
А в винде нельзя вручную создать папку, где содержится точка :lol:

Ага, ищет он файл для QSettings в QSettings::UserScope. В HOME папке. Вроде копернул 2 файла, пока безрезультатно.

Сообщение отредактировал Litkevich Yuriy - 24.3.2009, 10:18
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 24.3.2009, 9:44
Сообщение #18


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

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




Репутация:   94  


Цитата(SABROG @ 24.3.2009, 12:25) *
- качаем исходники Skulpture'a
откуда? :)

Цитата(SABROG @ 24.3.2009, 12:25) *
Правда похоже дизайнер как-то выкручивается сам в этой ситуации, т.к. в нем цвета нормальные.
у меня нет, (4.3.5, 4.5.0) в 4.4.3 я подправил исходник

Цитата(SABROG @ 24.3.2009, 12:25) *
Волна, я так понимаю, это HOME директория? И обязательна ли папка .config ... ?

Пример на виндах, не я делал:
Цитата
E:\Documents and Settings\Yura\.assistant\


Цитата(SABROG @ 24.3.2009, 12:25) *
А в винде нельзя вручную создать папку, где содержится точка
, что значит в ручную? я в тоталкомандере делаю.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Kagami
  опции профиля:
сообщение 24.3.2009, 9:47
Сообщение #19


Старейший участник
****

Группа: Участник
Сообщений: 601
Регистрация: 2.2.2009
Пользователь №: 523

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




Репутация:   9  


Вот кусок из ассистанта
Цитата
QSettings stores settings for an application in up to four locations, depending on whether the settings are user-specific or system-wide and whether the the settings are application-specific or organization-wide. For simplicity, we're assuming the organization is called MySoft and the application is called Star Runner. If the file format is IniFormat, the following files are used on Unix and Mac OS X:
$HOME/.config/MySoft/Star Runner.ini (Qt for Embedded Linux: $HOME/Settings/MySoft/Star Runner.ini)
$HOME/.config/MySoft.ini (Qt for Embedded Linux: $HOME/Settings/MySoft.ini)
/etc/xdg/MySoft/Star Runner.ini
/etc/xdg/MySoft.ini
On Windows, the following files are used:
%APPDATA%\MySoft\Star Runner.ini
%APPDATA%\MySoft.ini
%COMMON_APPDATA%\MySoft\Star Runner.ini
%COMMON_APPDATA%\MySoft.ini
The %APPDATA% path is usually C:\Documents and Settings\User Name\Application Data;
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 24.3.2009, 10:01
Сообщение #20


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

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

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




Репутация:   34  


Цитата(Litkevich Yuriy @ 24.3.2009, 9:44) *
, что значит в ручную? я в тоталкомандере делаю.

А вот обычные средства винды этого не позволяют. Помню прикалывался как-то над чуваком, файлик здоровый создавал через консоль с досовской кодировкой. Так его винда вообще удалять отказывалась :)

Вроде бы скопировал в C:\Documents and Settings\User Name\Application Data, но пока безрезультатно.

---
Всё, разобрался. Файл SkulptureStyle.ini копируем в %APPDATA%. Открываем его в текстовом редакторе и прописываем:

Цитата
[%General]
StyleSheetFileName=Skulpture.qss


Файл Skulpture.qss из папки с исходниками Skulpture копируем в папку со своим .exe'шником. Сейчас в .qss файле изменения видны только на прогрессбаре, групбоксе и меню. Ничего экстраординарного :)

Litkevich Yuriy, Качать отсюда: http://skulpture.maxiom.de/

Народ, я засветился :ph34r: тут http://kdepepo.wordpress.com/

Кстати, забыл сказать, что возможно придется изменить файлик src/CMakeLists.txt и убрать из него "LIBRARY". В общем надо систематизировать знания в отдельную статью.

Сообщение отредактировал SABROG - 24.3.2009, 10:17
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
FladeX
  опции профиля:
сообщение 24.3.2009, 11:50
Сообщение #21


Студент
*

Группа: Участник
Сообщений: 67
Регистрация: 20.2.2009
Пользователь №: 564

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




Репутация:   0  


Застопорилось на этом:
cmake -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release
mingw32-make

После первой команды пишет:
WARNING: *** KDE4 not found, building a Qt-only version of Skulpture ***
-- Configuring incomplete, errors occurred!

Ну а после второй уже:
mingw32-make: *** No targets specified and no makefile found. Stop.

Что не так? И почему под виндой должен быть кде? о_О
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
log1c
  опции профиля:
сообщение 24.3.2009, 12:54
Сообщение #22


Студент
*

Группа: Участник
Сообщений: 29
Регистрация: 29.12.2008
Пользователь №: 472

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




Репутация:   0  


У меня нормально собралось под виндой, хотя тож сначал что-то писало про Library и Destination. Птом удалил из CMakeLists.txt Library и все норм стало =)

Сообщение отредактировал log1c - 24.3.2009, 12:55
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 24.3.2009, 12:59
Сообщение #23


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

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

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




Репутация:   17  


А есть ли строки для bat-файла, который создает подобный ярлык? Просто, при копировании на разные машинки, чтобы ярлык указывал на скопированный exe-шник.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
FladeX
  опции профиля:
сообщение 24.3.2009, 13:07
Сообщение #24


Студент
*

Группа: Участник
Сообщений: 67
Регистрация: 20.2.2009
Пользователь №: 564

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




Репутация:   0  


Удалил LIBRARY, все заработало. Всем спасибо! )
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 24.3.2009, 16:54
Сообщение #25


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

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

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




Репутация:   34  


Добавил в вики.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
FladeX
  опции профиля:
сообщение 24.3.2009, 17:25
Сообщение #26


Студент
*

Группа: Участник
Сообщений: 67
Регистрация: 20.2.2009
Пользователь №: 564

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




Репутация:   0  


У меня заголовки окон в стандартном стиле остались, хотя остальные элементы полностью из Skulpture. Как это исправить?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
log1c
  опции профиля:
сообщение 24.3.2009, 17:33
Сообщение #27


Студент
*

Группа: Участник
Сообщений: 29
Регистрация: 29.12.2008
Пользователь №: 472

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




Репутация:   0  


Цитата(FladeX @ 24.3.2009, 17:25) *
У меня заголовки окон в стандартном стиле остались, хотя остальные элементы полностью из Skulpture. Как это исправить?


Убрать заголовок у виджета, и делать свой.

SABROG здесь в какой то теме занимался вопросом *своего* заголовка вроде, если не ошибаюсь в топике "Прозрачность".

Сообщение отредактировал log1c - 24.3.2009, 17:35
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 24.3.2009, 17:44
Сообщение #28


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

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

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




Репутация:   17  


А на мой вопросец ответят? И еще - можно ли собрать эту же вещь под Visual Studio? Просто, я не очень понимаю, куда приткнуть то, что описано в вики. И какой каталог относится к этому стилю, т.е. где расположен этот стиль? Есть ли он в Qt 4.3.2?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 24.3.2009, 20:05
Сообщение #29


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

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




Репутация:   94  


Цитата(AD @ 24.3.2009, 20:44) *
А на мой вопросец ответят?
ярлыки в виндовозе отдельная тема.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 24.3.2009, 22:20
Сообщение #30


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

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

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




Репутация:   34  


Цитата(FladeX @ 24.3.2009, 17:25) *
У меня заголовки окон в стандартном стиле остались, хотя остальные элементы полностью из Skulpture. Как это исправить?

Не исправить, так работают стили Qt. В embeded Qt есть метод QApplication::qwsSetDecoration(), который позволяет это сделать, но это только там.

Цитата(AD @ 24.3.2009, 17:44) *
А на мой вопросец ответят? И еще - можно ли собрать эту же вещь под Visual Studio?

Через батник можно сделать ярлык в полу-автоматическом режиме через rundll32. Есть еще вариант написать скрипт для WSH. Есть вариант создать .url файл, есть вариант вместо ярлыка копировать .bat файл. Но я склоняюсь к тому, что ярлыки должен делать installer, раз уж речь идет о множестве компьютеров.

Попробуй собрать под студией. Вместо "MinGW Makefiles" напиши "NMake Makefiles". Я не пробовал и не буду, поэтому есть место для альтернативной статьи в вики для интузиастов. Я не просто так в скобках MinGW указал.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
molchanoviv
  опции профиля:
сообщение 24.3.2009, 22:22
Сообщение #31


Старейший участник
****

Группа: Сомодератор
Сообщений: 597
Регистрация: 18.7.2008
Из: Саратов
Пользователь №: 238

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




Репутация:   5  


Интересно а будет ли так работать тема Oxygen?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 24.3.2009, 22:58
Сообщение #32


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

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




Репутация:   94  


посмотрел я исходники этой скульптуры.
Стиль програмирования какой-то очень странный, в skulpture.cpp засунуты аж 4 файла, и плагин и т.д. и т.п. напихано инлюдов типа:
#include "skulpture.moc"


бардак одним словом.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 24.3.2009, 23:18
Сообщение #33


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

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

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




Репутация:   34  


Цитата(Litkevich Yuriy @ 24.3.2009, 22:58) *
посмотрел я исходники этой скульптуры.
Стиль програмирования какой-то очень странный, в skulpture.cpp засунуты аж 4 файла, и плагин и т.д. и т.п. напихано инлюдов типа:
#include "skulpture.moc"


бардак одним словом.

Я как-то смотрел исходники QDevelop, так меня некоторые вещи вообще в шок повергли до такой степени, что я зарекся его никогда не использовать :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_random_*
сообщение 25.3.2009, 15:57
Сообщение #34





Гости








    


Цитата(Litkevich Yuriy @ 24.3.2009, 22:58) *
посмотрел я исходники этой скульптуры.
Стиль програмирования какой-то очень странный, в skulpture.cpp засунуты аж 4 файла, и плагин и т.д. и т.п. напихано инлюдов типа:
#include "skulpture.moc"


бардак одним словом.

Поэтому, тема до сих пор standalone, а не в репозитории KDE - автор ленится в порядок привести, в чём сам честно признаётся:
Цитата
- If I remember correctly Sculpture isn’t present as a choice in a default KDE install. Will it get into KDE 4.3? It’s really nice!
- Diego, definitely not for 4.3, probably not for 4.4, maybe for 4.5… well, I don’t know, at it’s current state the code will simply be rejected, but I am too lazy to clean it up just to please code monkeys
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 25.3.2009, 22:08
Сообщение #35


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

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

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




Репутация:   34  


Цитата(molchanoviv @ 24.3.2009, 22:22) *
Интересно а будет ли так работать тема Oxygen?

Не будет. Я попробовал собрать еще около 5 плагинов, но они все привязаны жестко к KDE и X11, что не делает чести разработчикам пишущим на Qt. На мой взгляд это признак непрофессионализма и/или лени.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
molchanoviv
  опции профиля:
сообщение 25.3.2009, 23:01
Сообщение #36


Старейший участник
****

Группа: Сомодератор
Сообщений: 597
Регистрация: 18.7.2008
Из: Саратов
Пользователь №: 238

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




Репутация:   5  


А разве четвертая КДЕ не отвязана от Х11? Или для вин пишется отдельная версия КДЕ?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 26.3.2009, 4:42
Сообщение #37


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

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




Репутация:   94  


Цитата(SABROG @ 26.3.2009, 1:08) *
что не делает чести разработчикам пишущим на Qt. На мой взгляд это признак непрофессионализма и/или лени.
вот Ник мне писал на тему привязки к кедам
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 26.3.2009, 9:07
Сообщение #38


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

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

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




Репутация:   34  


Цитата(Litkevich Yuriy @ 26.3.2009, 4:42) *
Цитата(SABROG @ 26.3.2009, 1:08) *
что не делает чести разработчикам пишущим на Qt. На мой взгляд это признак непрофессионализма и/или лени.
вот Ник мне писал на тему привязки к кедам

Ладно бы просто к KDE привязывались (я даже инклуды из kdewin32 утянул, чтобы собрать стиль), так в исходниках явно подключают заголовки X11 сервера.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 26.3.2009, 9:47
Сообщение #39


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

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




Репутация:   94  


Цитата(SABROG @ 26.3.2009, 12:07) *
явно подключают заголовки X11 сервера
может спец функциональность нужна?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 26.3.2009, 23:33
Сообщение #40


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

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

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




Репутация:   34  


Цитата(Litkevich Yuriy @ 26.3.2009, 9:47) *
Цитата(SABROG @ 26.3.2009, 12:07) *
явно подключают заголовки X11 сервера
может спец функциональность нужна?

Да кто их знает, может им и нужна для использования функций композиций окон, чтобы сделать поддержку частичной прозрачности, которая доступна стала только в 4.5. Может еще для каких-то извращений.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

4 страниц V   1 2 3 > » 
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


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


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 11.6.2025, 9:38