Один из немаловажных аспектов при программировании с использованием библиотеки Qt – это управление видом и поведением приложения (look & feel). Ввиду того, что Qt-приложения создаются для большого числа платформ, необходим механизм для изменения их вида и поведения. Это позволяет добиться, чтобы его внешний вид не выбивался из колеи при запуске в какой-либо операционной системе, и не создавалось впечатление того, что программа "чужая" на этой платформе.
В Qt внешний вид компонентов может быть свободно изменен, и это можно использовать для того, чтобы разнообразить внешний вид приложения, если вы относитесь к группе программистов, считающих стандартный вид неподходящим для своих программ. Например, при написании компьютерной игры вы наверняка захотите большей дизайнерской свободы и попробуете придать элементам управления новый вид. К изменению стиля можно прибегнуть и в том случае, когда нужно добиться того, Чтобы ваши программы узнавали по внешнему виду.
Конечно, можно создать классы виджетов, которые будут иметь свой собственный облик, отличный от стандартного. Но это неудобно, так как каждый раз придется реализовывать новые классы и изменять исходный код. Qt предоставляет специальные классы стилей, позволяющие изменять внешний вид и поведение для любых классов виджетов. Стили программы можно изменять даже в процессе ее работы, а это значит, что пользователю можно предоставить в меню целый список стилей, чтобы он смог выбрать оптимальный для себя. Стили можно создавать самому или использовать уже готовые, встроенные в библиотеку Qt.
Возможность реализации и использования классов стилей, не зависящих от кода программы, дает большую свободу, позволяющую разделить разработку проекта, как минимум, на две команды, которые могут работать независимо друг от друга. Одна команда может работать над кодом самой программы, а другая над ее дизайном. Созданные второй командой классы или CSS-файлы стилей могут использоваться и в других Qt-проектах.
В контексте Qt стиль – это класс, унаследованный от QStyleи реализующий возможности для рисования рамок, кнопок, растровых изображений и т. д. делает каждый виджет ответственным за свое отображение, что повышает скорость отображения и гибкость.
Таперь поговорим о более интересном и познавательном – о переносе вашего ПО на другие компьютеры.
Это важно: как бы это было не странно, но все же удосужтесь прочитать теорию, которая разместилась ниже – здесь содержатся весьма важные сведенья.
Допустим, Вы написали приложение, и оно успешно компилируется и запускается в Qt Creator'e. А Вам нужно выпустить готовое приложение, которое можно будет запускать отдельно, как любую другую программу. Как это сделать?
Для этого необходимо откомпилировать проект в режиме релиза. И потом вместе с Вашим приложением нужно прикладывать файлы:
mingwm10.dll
libgcc_s_dw2-1.dll
QtCore4.dll
QtGui4.dll
Остальное зависит от того, какие еще опции Вы укажете к QT += .... в файле .pro.
Так же, если, например, работаете с картинками, то ещё могут понадобится dll'ки qgif4.dll, qico4.dll, qjpeg4.dll и т.п... но их уже надо размещать не в ту же папку, а создать там папку imageformats и туда уже их записывать.
Это полезно: часто возникает вопрос – откуда брать эти библиотеки? Ответ: из каталога, где установлен Qt, например: «C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin».
Это интересно: если собрано в режиме релиза, то брать надо библиотеки без d на конце имени файла: QtGUI.dll, QtCore.dll и т.д., если собрано в debug режиме то QtGUId.dll, QtCored.dll и т.д.
Или можно перекомпилировать сам Qt по инструкции Отучение Qt от mingw10.dll, libgcc_s_dw2-1.dll и других Qt***.dll но тогда сам exe'шник будет размером больше 10 МБ... но для форматов картинок dll'ки всё равно будут нужны отдельно.
Т.к. для этого необходимо перекомпилировать Qt, то делать этого мы не будем.
На всякий случай выкладываю для вас эту инструкцию.
Сборка статической Qt (MinGW) под винду, с поддержкой OpenSSL:
1. Скачать и установить OpenSSL (для примера в папку Q:\OpenSSL-Win32) (отсюда)
2. Скачать и установить QtSDK (для примера в папку Q:\QtSDK)
3. Скачать исходники Qt http://download.qt.nokia.com/qt/sour...-src-4.7.4.zip и распаковать их в папку (заменить имеющиеся там исходники от установки): Q:\QtSDK\QtSources\4.7.4\
4. Скопировать:
Файлы:
Q:\OpenSSL-Win32\lib\libeay32.lib
Q:\OpenSSL-Win32\lib\ssleay32.lib
в папку:
Q:\QtSDK\QtSources\4.7.4\lib\
Файлы:
Q:\OpenSSL-Win32\lib\MinGW\libeay32.a
Q:\OpenSSL-Win32\lib\MinGW\libeay32.def
Q:\OpenSSL-Win32\lib\MinGW\ssleay32.a
Q:\OpenSSL-Win32\lib\MinGW\ssleay32.def
в папку:
Q:\QtSDK\Desktop\Qt\4.7.4\mingw\lib\
Папку:
Q:\OpenSSL-Win32\include\
в папку:
Q:\QtSDK\QtSources\4.7.4\include
т.е. папка Q:\QtSDK\QtSources\4.7.4\include должна будет содержать в себе подпапку Q:\QtSDK\QtSources\4.7.4\include\openssl