转载地址:http://blog.youkuaiyun.com/fengbingchun/article/details/44923063
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);
- }
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