Как собрать и использовать стиль Skulpture в Windows (MinGW)?

Материал из Wiki.crossplatform.ru

(Различия между версиями)
Перейти к: навигация, поиск
(Новая: == Как собрать и использовать стиль Skulpture в Windows? (MinGW) == Изображение:Skulpture.jpg Для пользователей KDE суще...)
(оформление)
Строка 1: Строка 1:
-
== Как собрать и использовать стиль Skulpture в Windows? (MinGW) ==
+
== Стиль '''Skulpture''' в Windows (MinGW) ==
 +
Для пользователей KDE существует приятный стиль-плагин - [http://skulpture.maxiom.de Skulpture]
[[Изображение:Skulpture.jpg]]
[[Изображение:Skulpture.jpg]]
-
Для пользователей KDE существует приятный стиль-плагин - [http://skulpture.maxiom.de Skulpture]
 
Но я нигде не нашел информации о том как его собрать для Windows, хотя он и написан на Qt.  
Но я нигде не нашел информации о том как его собрать для Windows, хотя он и написан на Qt.  
Решил попытать счастье. Скачал последний snapshot с сайта. Собирать будем через MinGW.
Решил попытать счастье. Скачал последний snapshot с сайта. Собирать будем через MinGW.
Где-то день ничего не получалось, но в итоге все свелось к следующим действиям.
Где-то день ничего не получалось, но в итоге все свелось к следующим действиям.
-
Скачиваем исходники Skulpture с сайта. Распаковываем их в любую папку. Но, чтобы небыло возможных проблем
 
-
старайтесь выбрать папку таким образом, чтобы в ней небыло русских букв или пробелов.
 
-
Я надеюсь, что большинство людей работающих с Qt знают, что означает правильно подготовить переменные окружения,
+
== Подготовка ==
-
прежде чем что-либо компилировать.
+
Нам понадобятся:
 +
* Исходники '''Skulpture''' ([http://skulpture.maxiom.de/releases/skulpture-0.2.2.6.tar.bz2 скачать]);
 +
* Система сборки '''CMake''' (скачать).
-
Для этих целей я использую заранее подготовленный .bat файл такого содержания:
 
 +
Установите '''CMake''', если её еще нет на вашей машине.
 +
 +
Распаковываем исходники '''Skulpture''' в любую папку. Но, чтобы не было возможных проблем старайтесь выбрать папку таким образом, чтобы в ней не было русских букв или пробелов.
 +
 +
Я надеюсь, что большинство людей работающих с Qt знают, что означает правильно подготовить переменные окружения,
 +
прежде чем что-либо компилировать. Для этих целей я использую заранее подготовленный .bat файл такого содержания:
{{code|code=
{{code|code=
@echo off
@echo off
Строка 31: Строка 36:
Хочу обратить внимание на то, что пути вы должны исправить на свои.  
Хочу обратить внимание на то, что пути вы должны исправить на свои.  
-
И вам не понадобится vim и gdb, если их у вас нет. Также вам понадобится
+
И вам не понадобится vim и gdb, если их у вас нет.  
-
скачать и установить систему сборки CMAKE, если вы еще ей не пользуетесь.
+
Я заметил, что на разных компьютерах Skulpture может не собираться. Вероятно
Я заметил, что на разных компьютерах Skulpture может не собираться. Вероятно
Строка 42: Строка 46:
"install (TARGETS skulpture LIBRARY DESTINATION ${QT_PLUGINS_DIR}/styles)"
"install (TARGETS skulpture LIBRARY DESTINATION ${QT_PLUGINS_DIR}/styles)"
}}
}}
 +
 +
 +
== Сборка==
Теперь возвращаемся в папку где лежит файл install.sh. Вбиваем следующие команды:
Теперь возвращаемся в папку где лежит файл install.sh. Вбиваем следующие команды:
{{code|code=
{{code|code=
Строка 79: Строка 86:
При этом файл Skulpture.qss будет искаться в папке с вашей программой (.exe файлом).
При этом файл Skulpture.qss будет искаться в папке с вашей программой (.exe файлом).
Пример .qss файла можно взять в папке с исходниками Skulpture.
Пример .qss файла можно взять в папке с исходниками Skulpture.
 +
== См. также ==
== См. также ==

Версия 17:16, 24 марта 2009

Содержание

Стиль Skulpture в Windows (MinGW)

Для пользователей KDE существует приятный стиль-плагин - Skulpture

Изображение:Skulpture.jpg

Но я нигде не нашел информации о том как его собрать для Windows, хотя он и написан на Qt. Решил попытать счастье. Скачал последний snapshot с сайта. Собирать будем через MinGW. Где-то день ничего не получалось, но в итоге все свелось к следующим действиям.


Подготовка

Нам понадобятся:

  • Исходники Skulpture (скачать);
  • Система сборки CMake (скачать).


Установите CMake, если её еще нет на вашей машине.

Распаковываем исходники Skulpture в любую папку. Но, чтобы не было возможных проблем старайтесь выбрать папку таким образом, чтобы в ней не было русских букв или пробелов.

Я надеюсь, что большинство людей работающих с Qt знают, что означает правильно подготовить переменные окружения, прежде чем что-либо компилировать. Для этих целей я использую заранее подготовленный .bat файл такого содержания:

@echo off
set CMAKE=c:\cmake
set QTDIR=c:\SABROG\qt-win-opensource-src-4.5.0
set INCLUDE=
set LIB=
set PATH=c:\SABROG\qt-win-opensource-src-4.5.0\bin
set PATH=%PATH%;C:\MinGW\bin
set PATH=%PATH%;%SystemRoot%\System32;C:\gdb\bin;C:\Vim\vim72;%CMAKE%;%CMAKE%\bin
set QMAKESPEC=win32-g++
set QT_DEBUG_PLUGINS=1
cmd

Хочу обратить внимание на то, что пути вы должны исправить на свои. И вам не понадобится vim и gdb, если их у вас нет.

Я заметил, что на разных компьютерах Skulpture может не собираться. Вероятно это зависит от переменных окружения. Поэтому следующие действия нужны, только если возникли проблемы со сборкой. Заходим в подпапку src папки с исходниками Skulpture. Необходимо отредактировать файл CMakeLists.txt и удалить слово "LIBRARY" в этой строке:

"install (TARGETS skulpture LIBRARY DESTINATION ${QT_PLUGINS_DIR}/styles)"


Сборка

Теперь возвращаемся в папку где лежит файл install.sh. Вбиваем следующие команды:

cmake -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release
mingw32-make

Когда все соберется, копируем из папки src файл libskulpture.dll в папку %QTDIR%/plugins/styles (папку styles надо создать вручную).

Если вы не желаете использовать этот стиль как общий плагин, то можете просто создать папку styles в папке со своей программой (где лежит исполнимый .exe файл). Он будет загружаться автоматически. Поэтому достаточно запустить вашу программу указав в качестве параметра ключ: -style Skulpture Или непосредственно в программе прописать:

QApplication::setStyle("Skulpture");
qApp->setPalette(QApplication::style()->standardPalette());

Существует проблема при запуске программ с плагином, когда файлы ядра Qt: QtCore4.dll, QtGui4.dll находятся не в папке с программой, а ищутся/беруться из переменной PATH. В таких случаях и программа и плагин пытаются загрузить каждый свою копию этих .dll'ок в память, что приводит к конфликту потоков. Это можно увидеть в консоли, если выставить переменную окружения QT_DEBUG_PLUGINS=1. Стоит также помнить, что в реестре создается кэш неудачных попыток загрузки плагина, если таковые имелись. Возможно надо будет почистить ветку: HKEY_CURRENT_USER\Software\Trolltech\OrganizationDefaults прежде чем осуществить очередную попытку запустить программу.

У плагина Skulpture есть экспериментальная функция загрузки стилей из .qss файла. Для того, чтобы ей воспользоваться надо создать файл SkulptureStyle.ini в папке %APPDATA% (C:\Documents and Settings\ТЕКУЩЕЕ_ИМЯ_ПОЛЬЗОВАТЕЛЯ\Application Data) и прописать в нем строки:

[%General]
StyleSheetFileName=Skulpture.qss

При этом файл Skulpture.qss будет искаться в папке с вашей программой (.exe файлом). Пример .qss файла можно взять в папке с исходниками Skulpture.


См. также