Qt是一个跨平台的C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序。Qt是面向对象的框架,很容易扩展。Qt是一个C++工具包,它由几百个C++类构成,你在程序中可以使用这些类。Qt具有OOP的所有优点。
跨平台的Qt包含了大约15个模块,所有的模块都依赖于QtCore。
Qt的编译工具包括:Configure、Qmake、Moc、Uic and Rcc。
Qt开发工具包括:QT Creator、Qt Designer、Qt Assistant、Qt Linguist。
Qt基本模块:(1)、QtCore,Qt4的基本模块,定义了其它模块使用的Qt核心的非GUI类,所有其它的模块都依赖于该模块;(2)、QtGui,定义了图形用户界面类;(3)、QtNetwork,定义了Qt的网络编程类;(4)、QtOpenGL,定义了OpenGL的支持类;(5)、QtSql,定义了访问数据库的类;(6)、QtSvg,定义了显示和生成SVG类;(7)、QtDesigner,定义了在应用程序中直接处理ui文件的类,它使得应用程序能够在运行时使用ui文件构建用户界面;(8)、QtTest,定义了对Qt应用程序和库进行单元测试的类。
Qt Creator是一个用Qt开发的轻量级跨平台集成开发环境IDE,它包含了一套用于创建和测试基于Qt应用程序的高校工具。Qt Creator包括项目生成向导、高级的C++代码编辑器、浏览文件及类的工具、集成了Qt Designer、Qt Assistant、Qt Linguist、图形化的GDB调试前端、集成qmake构建工具等。Qt Creator可单独使用,也可与Qt库和开发工具组成一套完整的SDK。
下面介绍Qt在Ubuntu14.04 32位上的安装步骤及简单测试:
(1)、从http://mirrors.ustc.edu.cn/qtproject/official_releases/qt/5.4/5.4.1/下载最新版本qt-opensource-linux-x86-5.4.1.run ;
(2)、将其拷贝到/home/spring/Qt目录下;
(3)、打开终端,进入到/home/spring/Qt目录下,执行./qt-opensource-linux-x86-5.4.1.run ,接着会弹出对话框,然后一直next后即可成功安装;
(4)、打开QtCreatorr,新建一个控制台工程TestQt,File --> New File or Project --> Projects --> Application--> Qt Console Application: Choose --> Name: TestQt, Create in: /home/spring/QtTest,Next --> Next --> Finish;
(5)、此控制台工程,会默认在/home/spring/QtTest/TestQt目录下生成三个文件:main.cpp、TestQt.pro、TestQt.pro.user;
(6)、在左侧一览,选中Projects--> Edit build configuration选项可以选择编译是Debug还是Release,运行此工程,即可生成一个TestQt执行文件;
(7)、修改main.cpp文件,去掉与Qt相关的函数,将其改为以下语句,运行也一切正确:
#include <iostream> using namespace std; int main(int argc, char *argv[]) { cout<<"hello qt !"<<endl; }
(8)、创建动态库TestQtDll:File -->New File or Project --> Projects --> Library --> C++ Library: Choose--> Name: TestQtDll, Create in: /home/spring/QtTest, Next --> Next -->Finish; 此动态库相关代码如下:
testqtdll.h :
#ifndef TESTQTDLL_H #define TESTQTDLL_H #include "testqtdll_global.h" class TESTQTDLLSHARED_EXPORT TestQtDll { public: TestQtDll(); int Add(int a, int b); }; #endif // TESTQTDLL_H
testqtdll.cpp:
#include "testqtdll.h" TestQtDll::TestQtDll() { } int TestQtDll::Add(int a, int b) { return (a + b); }
(9)、将libTestQtDll.so库加入到TestQt工程中:选中TestQt工程,点击右键 --> Add Library --> External library--> 选择libTestQtDll.so(注意是Debug还是Release), Next --> Finish,此时TestQt各个文件内容如下,运行一切正确:
main.cpp:
#include <iostream> #include "../TestQtDll/testqtdll.h" using namespace std; int main(int argc, char *argv[]) { int a = 2, b = 3; TestQtDll test; int c = test.Add(a, b); cout<<"sum = "<<c<<endl<<"ok !"<<endl; }
TestQt.pro :
#------------------------------------------------- # # Project created by QtCreator 2015-04-07T00:41:06 # #------------------------------------------------- QT += core QT -= gui TARGET = TestQt CONFIG += console CONFIG -= app_bundle TEMPLATE = app SOURCES += main.cpp unix:!macx: LIBS += -L$$PWD/../build-TestQtDll-Desktop_Qt_5_4_1_GCC_32bit-Debug/ -lTestQtDll INCLUDEPATH += $$PWD/../build-TestQtDll-Desktop_Qt_5_4_1_GCC_32bit-Debug DEPENDPATH += $$PWD/../build-TestQtDll-Desktop_Qt_5_4_1_GCC_32bit-Debug unix:!macx: LIBS += -L$$PWD/../build-TestQtDll-Desktop_Qt_5_4_1_GCC_32bit-Release/ -lTestQtDll INCLUDEPATH += $$PWD/../build-TestQtDll-Desktop_Qt_5_4_1_GCC_32bit-Release DEPENDPATH += $$PWD/../build-TestQtDll-Desktop_Qt_5_4_1_GCC_32bit-Release