русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Теоретическое введение


Дата добавления: 2015-07-04; просмотров: 856; Нарушение авторских прав


Один из немаловажных аспектов при программировании с использованием библиотеки 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

5. Открыть блокнотом файл:

Q:\QtSDK\QtSources\4.7.4\mkspecs\win32-g++\qmake.conf

найти строку, содержащую: QMAKE_LFLAGS

удалить ее полностью, и вместо нее вставить:

QMAKE_LFLAGS = -static -static-libgcc -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc

и сохранить файл.

6. Запустить консоль Qt из «Пуск»→«Программы»→«QtSDK»→«Desktop»→«Qt 4.7.4 for Desktop (MinGW)»

В консоли перейти в папку: Q:\QtSDK\QtSources\4.7.4\ с помощью команд:

«Q:» (без кавычек, нажать Enter)

«cd Q:\QtSDK\QtSources\4.7.4\» (без кавычек, нажать Enter)

7. Сконфигурировать исходники Qt командой:

configure -static -debug-and-release -no-exceptions -openssl-linked -nomake demos -nomake examples

Ответить на вопросы по лицензии (лицензия OpenSource)

8. Дождаться конца конфигурирования и собрать библиотеку командой (в той же открытой консоли):

mingw32-make sub-src

и дождаться окончания сборки, после чего консоль можно закрывать.

9. Запустить QtCreator, зайти в меню:

«Инструменты» → «Параметры» и в левом меню выбрать пункт Qt4

Кнопкой «Добавить» - добавить созданную статическую сборку, т. е. указать в открывшемся окне файл: Q:\QtSDK\QtSources\4.7.4\bin\qmake.exe

и дать ей свое имя (к примеру «Qt 4.7.4 for Desktop - MinGW 4.4 (Static)»)

Раскрыть область «Подробнее» и нажать кнопку «Собрать все»

Открыть проект, зайти в его свойства (слева меню «Проекты») и добавить новую конфигурацию сборки с новым именем (из п.13.)

Выбрать тип сборки Релиз (из Релиз или Дебаг)

 

Можно собирать проекты.

 

Видео как это делалось: http://narod.ru/disk/start/01.dl14sg...SetupVideo.zip




<== предыдущая лекция | следующая лекция ==>
Добавление стилей, шрифтов их размеров | Практическая часть


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.734 сек.