Qt: различия между версиями

Содержимое удалено Содержимое добавлено
м оформление, объединение
Строка 1:
'''Qt -''' — кроссплатформенная библиотека разработки GUI на С++. Производитель — [http://www.qt.nokia.com NOKIA]. Отличается хорошей документацией, стабильностью, простотой освоения и написания кода.
Производитель — [http://www.qt.nokia.com NOKIA].
Отличается хорошей документацией, стабильностью, простотой освоения и написания кода.
 
== Что такое библиотека Qt? ==
Библиотека Qt задумывалась и начиналась как кросс-платформенный тулкит (toolkit) для быстрой разработки графических интерфейсов (GUI) приложений на языке C++, с целью упростить жизнь программистов, пишущих на C++ кросс-платформенные, переносимые GUI-приложения, которые должны работать и в среде Windows, и в среде Unix/Linux под X11, и на компьютерах Macintosh.
 
В настоящее время Qt значительно переросла рамки тулкита для разработки графических интерфейсов приложений. Она предоставляет использующему её программисту целостный фреймворк (framework), позволяющий при написании большей части приложения использовать только «родные» классы Qt и практически полностью отказаться от написания системно-зависимого кода, использования системных вызовов (будь то Win32 API или Unix system calls) или от изобретения собственных кросс-платформенных обёрток и «велосипедов». Классы Qt покрывают почти все потребности программиста. В Qt предусмотрены классы и для работы со строками, и для работы с файлами, сетью, базами данных, XML, и для обеспечения многопоточности в приложении, и многое-многое другое. По своим возможностям и богатству библиотека Qt сравнима с .NET Framework или с системой классов Java 2 EE.
см [[Qt4 ЧАВО]]
 
=== Почему стоит использовать Qt? ===
см [[Qt ЧАВО]]
Qt предоставляет программисту не только удобный набор библиотек классов, но и определённую модель разработки приложений, определённый каркас их структуры. Следование принципам и правилам «хорошего стиля программирования на C++/Qt» существенно снижает частоту таких трудно отлавливаемых ошибок в приложениях, как утечки памяти (memory leaks), необработанные исключения, незакрытые файлы или неосвобождённые дескрипторы ресурсных объектов, чем нередко страдают программы, написанные «на голом C++» без использования библиотеки Qt.
 
Важным преимуществом Qt является хорошо продуманный, логичный и стройный набор классов, предоставляющий программисту очень высокий уровень абстракции. Благодаря этому программистам, использующим Qt, приходится писать значительно меньше кода, чем это имеет место при использовании, например, библиотеки классов MFC. Сам же код выглядит стройнее и проще, логичнее и понятнее, чем аналогичный по функциональности код MFC или код, написанный с использованием «родного» для X11 тулкита Xt. Его легче поддерживать и развивать.
 
Кроме того, даже если программисту в данный конкретный момент не нужна кроссплатформенность для его конкретного приложения (например, планируется версия только для Windows или только для Macintosh), никто не может знать, что понадобится завтра. Бизнес-планы могут поменяться, и может оказаться и нужным, и выгодным выпустить версию для другой операционной системы или другой аппаратной платформы. В случае использования Qt для этого понадобится всего лишь перекомпиляция исходного кода. В случае же использования, например, MFC или «родных» системных API понадобится много тяжёлой работы по портированию, адаптации и отладке, а то и переписыванию с нуля существующего исходного кода для другой ОС или аппаратной платформы.
 
Многие компании-разработчики приложений Windows используют Qt ещё по одной причине: даже если код пишется и в обозримом будущем будет писаться только для платформы Windows и тестируется только на ней, возможность откомпилировать один и тот же исходный код на одной и той же платформе Windows двумя разными компиляторами (Microsoft Visual C++ и GCC/Win32) гарантирует лучшее качество исходного кода и лучшую его совместимость со стандартом C++. Что немаловажно для кода, который планируется длительно поддерживать и развивать.
 
== Установка Qt 4.2.2. из исходных кодов под «Visual C++ 2005 Express Edition» ==
Строка 13 ⟶ 20 :
Достаточно будет установить «Microsoft Windows Core SDK». Если вам понадобится доустановить какой-нибудь другой SDK, вы сможете это сделать в «Установка и удаление программ» «Панели управления».
Нужно поставить галочку с установкой переменных окружения, иначе придется их ставить самостоятельно, либо запускать перед сборкой Qt скрипт в SetEnv.
=== Настройка «Visual C++ 2005 Express Edition» под «MS Platform SDK».===
 
=== Настройка «Visual C++ 2005 Express Edition» под «MS Platform SDK». ===
По этойСм. [http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/ ссылке]здесь написано на английском языке(англ.)]
 
==== Обновите директории Visual C++ ====
Строка 23 ⟶ 30 :
* Library files: C:\Program Files\Microsoft Platform SDK\lib.
 
Замечание: Обновить директории можно другим способом, для этого нужно изменить файл VCProjectEngine.dll.express.config размещенный в \vc\vcpackages. Убедитесь что вы удалили файл "«vccomponents.dat"» размещенный в "«%USERPROFILE%\Local Settings\Application Data\Microsoft\VCExpress\8.0"» перед перезапуском Visual C++ Express Edition.
 
==== Обновите файл corewin_express.vsprops. ====
 
Этот шаг нужен для того, чтобы сделать в Visual C++ Express шаблон приложений Win32.
 
Строка 37 ⟶ 43 :
<code>AdditionalDependencies="kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib"</code>
 
=== Настройка «Visual C++ 2005 Express Edition» под Qt 4.2.2. ===
==== Измените файл vsvars32.bat ====
(если вы установили Visual C++ 2005 Express Edition в папку C:\Program Files\Microsoft Visual Studio 8\, то файл должен находиться в папке C:\Program Files\Microsoft Visual Studio 8\Common7\Tools\)
 
в следующих местах:
Строка 61 ⟶ 67 :
* Скачайте [http://prdownloads.sourceforge.net/qtwin/ патч для Qt 4.2.2] и разархивируете его в папку C:\qt-win\.
* Сборка (конфигурирование, компиляция и линковка)
** Запустите "«MS Visual C++ 2005 Express Edition"».
** Выберите пункт меню Tools->Visual Studio 2005 Command Prompt.
** Наберите в командной строке <code>cd c:\qt-win</code> чтобы перейти в каталог с исходными текстами.
** Наберите в командной строке <code>installpath42.bat</code> чтобы пропатчить исходные тексты.
** Наберите в командной строке <code>qconfigure msvc2005</code> чтобы произвести конфигурирование. На все запросы нажимайте 'y'.
** После успешного конфигурирования, система попросит набрать nmake, так и сделайте и идите пить чай, кофе, сок, пиво... Процесс очень долгий.
 
==== Если у вас сервисService пакPack 1 ====
Замечание: конфигурирование для MS Visual C++ 2005 Express Edition сервис пак 1SP1 может не пройти, нужно подправить исходный текст: в файле
C:\qt\src\corelib\tools\qmap.h кусок кода:
<source lang="cpp-qt">
template <class Key, class T>
class QMultiMap : public QMap<Key, T>
Строка 100 ⟶ 107 :
</source>
заменить следующим кодом:
<source lang="cpp-qt">
template <class Key, class T>
class QMultiMap : public QMap<Key, T>
Строка 132 ⟶ 139 :
</source>
и в файле C:\qt\src\corelib\tools\qhash.h кусок кода:
<source lang="cpp-qt">
template <class Key, class T>
class QMultiHash : public QHash<Key, T>
Строка 162 ⟶ 169 :
</source>
заменить следующим кодом:
<source lang="cpp-qt">
template <class Key, class T>
class QMultiHash : public QHash<Key, T>
Строка 201 ⟶ 208 :
 
== Hello world ==
 
* Создайте папку helloworld;
* Создайте в папке helloworld файл helloworld.cpp следующего содержания:
<source lang="cpp-qt">
#include <QApplication>
#include <QLabel>
Строка 213 ⟶ 220 :
return app.exec();
}
</source>
* Запустите "«MS Visual C++ 2005 Express Edition"»;
* Выберите пункт меню Tools->Visual Studio 2005 Command Prompt;
* Из консоли перейдите в вами созданную папку helloworld;
Строка 222 ⟶ 230 :
* В среде Visual Studio выберите пункт меню Debug → Start Debugging.
 
== Документация по разным версиям : ==
* Вот тут [http://doc.trolltech.com/ про всю Qt].
* Перевод на русский язык [http://www.crossplatform.ru/documentation/qtdoc4.3/index.php версии 4.6]
 
== См. также ==
Вот тут [http://doc.trolltech.com/ про всю Qt]
см* [[Qt4 Qt/ЧАВО]]
 
Перевод на русский язык [http://www.crossplatform.ru/documentation/qtdoc4.3/index.php версии 4.6]
 
== Русскоязычные сайты о Qt ==
* [http://www.forum.crossplatform.ru/index.php?showforum=6 Раздел форума на crossplatform.ru]
 
* [http://www.forum.crossplatform.ru/documentation/qtdoc4.3/index.php?showforum=6 РазделНеофициальный форумаперевод документации Qt на crossplatform.ruрусский язык]
* [http://www.prog.org.ru/ Русский форум по Qt]
 
* [http://ru.wikipedia.org/wiki/Qt Материал википедии]
[http://www.crossplatform.ru/documentation/qtdoc4.3/index.php Неофициальный перевод документации Qt на русский язык]
* [http://ufna.ru/2010/03/23/pna-mod-qt-4-wince-build Как собрать Qt под Windows Embedded Core]
 
[http://www.prog.org.ru/ Русский форум по Qt]
 
[http://qt-rus.wikidot.com qt-rus.wikidot.com] - ссылка битая
 
[http://ru.wikipedia.org/wiki/Qt Материал википедии]
 
[http://ufna.ru/2010/03/23/pna-mod-qt-4-wince-build Как собрать Qt под Windows Embedded Core]
 
== Англоязычные сайты о Qt ==
* [http://www.qtforumqtcentre.org/ Еще одинБольшой англоязычный форум]
 
* [http://www.qtcentreqtforum.org/ Еще Большойодин англоязычный форум]
 
[http://www.qtforum.org/ Еще один англоязычный форум]
 
[[Категория:Qt]]