当前位置: 首页 > 编程日记 > 正文

Qt简介、安装及在Ubuntu14.04 32位上简单使用举例

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       += coreQT       -= guiTARGET = TestQt
CONFIG   += console
CONFIG   -= app_bundleTEMPLATE = appSOURCES += main.cppunix:!macx: LIBS += -L$$PWD/../build-TestQtDll-Desktop_Qt_5_4_1_GCC_32bit-Debug/ -lTestQtDllINCLUDEPATH += $$PWD/../build-TestQtDll-Desktop_Qt_5_4_1_GCC_32bit-Debug
DEPENDPATH += $$PWD/../build-TestQtDll-Desktop_Qt_5_4_1_GCC_32bit-Debugunix:!macx: LIBS += -L$$PWD/../build-TestQtDll-Desktop_Qt_5_4_1_GCC_32bit-Release/ -lTestQtDllINCLUDEPATH += $$PWD/../build-TestQtDll-Desktop_Qt_5_4_1_GCC_32bit-Release
DEPENDPATH += $$PWD/../build-TestQtDll-Desktop_Qt_5_4_1_GCC_32bit-Release

相关文章:

FOSCommentBundle功能包:设置Doctrine ODM映射(投票)

原文出处&#xff1a;12b-mapping_mongodb.md原文作者&#xff1a;FriendsOfSymfony授权许可&#xff1a;创作共用协议翻译人员&#xff1a;FireHare校对人员&#xff1a;适用版本&#xff1a;FOSCommentBundle 2.0.5文章状态&#xff1a;草译阶段Step 12b: Setup MongoDB mapp…

Python最大堆排序实现方法

Python最大堆排序实现方法&#xff0c;具体代码如下&#xff1a; # -*- coding: utf-8 -*- def merge_sort(seq, cmpcmp, sentinelNone): """合并排序&#xff0c;伪码如下&#xff1a; MERGE(A, p, q, r) 1 n1 ← q - p 1 // 前个子序列长度 2 …

内含福利 | 世界人工智能大会:对话大咖,深挖机器学习的商业应用

机器学习作为人工智能时代的关键技术突破&#xff0c;已经在日常生活中广泛应用&#xff0c;给用户带来便利。越来越多的企业也通过机器学习&#xff0c;解决生产和经营中的难题。传统制造业&#xff1a;应用机器学习&#xff0c;部署系统异常检测方案&#xff0c;预测组件寿命…

windows7 64位操作系统上使vs2010和vs2013能够并存的处理方法

之前机子上是只安装有vs2010&#xff0c;后来在没有卸载vs2010的情况下想装个vs2013,使vs2010与vs2013同时并存在windows764位机上。需要依次安装cn_visual_studio_ultimate_2013_x86_dvd_3009109.iso、vs2013.2.iso和vc_mbcsmfc.exe。在安装过程中遇到的问题有&#xff1a; (…

Spring Cloud Alibaba 基础教程:Nacos 生产级版本 0.8.0

Spring Cloud Alibaba 基础教程&#xff1a;Nacos 生产级版本 0.8.0 昨晚Nacos社区发布了第一个生产级版本&#xff1a;0.8.0。由于该版本除了Bug修复之外&#xff0c;还提供了几个生产管理非常重要的特性&#xff0c;所以觉得还是有必要写一篇讲讲这次升级&#xff0c;在后续的…

awk命令使用和取出数据的最大值,最小值和平均值

得到取出数据的最大值&#xff1a;cat manager.txt |grep monitor|awk {print$9}|sort -rn|head -1得到取出数据的最小值&#xff1a;cat manager.txt|grep monitor |awk {print $9}|sort -n|head -1得到取出数据的平均值&#xff1a;cat manager.txt|grep monitor |awk {print…

windows7 64位机上CUDA7.0配置及在VS2010中的简单使用举例

1. 查看本机配置&#xff0c;查看显卡类型是否支持NVIDIA GPU&#xff0c;选中计算机--> 右键属性 --> 设备管理器 --> 显示适配器&#xff1a;NVIDIA GeForce GT 610&#xff0c;从https://developer.nvidia.com/cuda-gpus可以查到相应显卡的compute capabili…

用友云平台,真正的云原生架构,加速云应用落地

数字化经济的出现&#xff0c;企业需要通过新技术实现数字化转型&#xff0c;完成企业管理和业务模式变革。而云计算是数字化中尤为重要且能够更快实现的技术手段。真正的云应用必须是基于云原生架构的&#xff0c;PaaS是一个重要的步骤&#xff0c;因为这是云原生的第一接触点…

从ACM班、百度到亚马逊,深度学习大牛李沐的开挂人生

“大神”&#xff0c;是很多人对李沐的印象。作为一经推出便大受追捧的 MXNet 深度学习框架的主要贡献者之一&#xff0c;李沐功不可没。值得注意的是&#xff0c;这个由 DMLC&#xff08;Distributed Machine Learning Community&#xff09;打造的深度学习框架&#xff0c;创…

Linux基础介绍

Linux的创始人Linus Torvalds。Linux的官方标准发音为[linəks]。Linux和Unix是非常像的&#xff0c;Linux就是根据Unix演变过来的。Linux是免费的&#xff0c;其实只是说Linux的内核免费。在Linux内核的基础上产生了众多的Linux版本。Linux的发行版说简单点就是将Linux内核与应…

Go在区块链的发展和演进

Go语言发展至今已经过去十年多了&#xff0c;是目前最流行的新兴语言&#xff0c;云计算领域的首选语言&#xff0c;而且目前随着区块链的流行&#xff0c;Go再次成为了这个领域的第一语言&#xff0c;以太坊&#xff0c;IBM的fabric等重量级的区块链项目都是基于Go开发。 原文…

一天掌握AI核心技术,上手应用,开发者该划哪些重点?

Alpha Go 只会下棋&#xff0c;却并不擅长垃圾分类&#xff1b;智能助手已经可以执行很多任务&#xff0c;但距离真正的人机自然交互还很远。如今 AI 的发展面临着诸多瓶颈&#xff0c;基础理论研究缺失&#xff0c;深度学习的黑箱属性无解&#xff0c;把一切托付于未知并不可靠…

学会这21条,你离Vim大神就不远了

来源 | Python编程时光&#xff08;ID: Python-Time&#xff09;导语&#xff1a;作者本人是 Vim 的重度使用者&#xff0c;就因为喜欢上这种双手不离键盘就可以操控一切的feel&#xff0c;Vim 可以让人对文本的操作更加精准、高效。对于未使用过 Vim 的朋友来说&#xff0c;可…

C 语言 和 C++语言的对比学习   二 数据类型

不管是什么语言&#xff0c;我们最习惯的是通过 “hello world” &#xff0c;来昭告世界&#xff0c;我们有了新的语言来向这个世界问好&#xff0c;尽管真正属于我们自己的其实是哭声。&#xff08;呵呵&#xff0c;笑点有点低&#xff09;&#xff0c;下面我们来介绍最为基础…

Makefile语法基础介绍

在Linux下&#xff0c;make是一个命令工具&#xff0c;是一个解释Makefile中指令的命令工具。make命令执行时&#xff0c;需要一个Makefile文件&#xff0c;以告诉make命令需要怎么样去编译和链接程序。 make如何工作&#xff1a;在默认的方式下&#xff0c;只输入make命令&am…

MaxCompute studio与权限那些事儿

背景知识 MaxCompute拥有一套强大的安全体系&#xff0c;来保护项目空间里的数据安全。用户在使用MaxCompute时&#xff0c;应理解权限的一些基本概念&#xff1a; 权限可分解为三要素&#xff0c;即主体&#xff08;用户账号或角色&#xff09;&#xff0c;客体&#xff08;表…

GitHub标星3w+的项目,全面了解算法和数据结构知识

作者 | 程序员小吴来源 | 五分钟学算法&#xff08;ID: CXYxiaowu&#xff09;导语&#xff1a;今天分享一个开源项目&#xff0c;里面汇总了程序员技术面试时需要了解的算法和数据结构知识&#xff0c;并且还提供了相应的代码&#xff0c;目前 GitHub 上标星 35000 star&#…

Shell脚本基础介绍

shell基础简介&#xff1a;编写脚本通常使用某种基于解释器的编程语言。而shell脚本不过就是一些文件&#xff0c;我们能将一系列需要执行的命令写入其中&#xff0c;然后通过shell来执行这些脚本。进入Linux系统(Ubuntu)&#xff0c;打开终端Terminal&#xff0c;”$”表示普通…

「小程序JAVA实战」小程序的举报功能开发(68)

转自&#xff1a;https://idig8.com/2018/09/25/xiaochengxujavashizhanxiaochengxudeweixinapicaidancaozuo66-2/ 通过点击举报按钮&#xff0c;跳转到举报页面完成举报操作。 后台开发 获取发布人的userId&#xff0c;videoId&#xff0c;创建者的Id controllerUserControlle…

tar常见文件解压法

2019独角兽企业重金招聘Python工程师标准>>> tar常见文件解压法:.gz - z 小写.bz2 - j 小写.xz - J 大写.Z - Z大写 转载于:https://my.oschina.net/open1900/blog/149238

cookie的作用域

当我们给网站设置cookie时&#xff0c;大家有没有发现在网站的其他域名下也接收到了这些cookie。这些没用的cookie看似不占多少流量&#xff0c;但如果对一个日PV千万的站点来说&#xff0c;那浪费的资源就不是一点点了。因此在设置cookie时&#xff0c;对它的作用域一定要设置…

必看,10篇定义计算机视觉未来的论文

译者 | Major编辑 | 赵雪出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;导语&#xff1a;如果你没能参加 CVPR 2019 &#xff0c; 别担心。本文列出了会上人们最为关注的 10 篇论文&#xff0c;覆盖了 DeepFakes&#xff08;人脸转换&#xff09;, Facial Recogniti…

有效的rtsp流媒体测试地址汇总

以下是从网上搜集的一些有效的rtsp流媒体测试地址&#xff1a; 1. rtsp://218.204.223.237:554/live/1/0547424F573B085C/gsfp90ef4k0a6iap.sdp 2. rtsp://218.204.223.237:554/live/1/66251FC11353191F/e7ooqwcfbqjoo80j.sdp 3. rtsp://211.139.194.251:554…

java简单的ID生成器

2019独角兽企业重金招聘Python工程师标准>>> https://www.cnblogs.com/hongdada/p/9324473.html https://github.com/apache/incubator-shardingsphere 转载于:https://my.oschina.net/u/3005325/blog/3006311

安装、设置与启动MySql5.1.30绿色版的方法

1、解压 mysql-noinstall-5.1.30-win32.zip(下载地址http://dev.mysql.com/downloads/mysql/5.1.html)2、在 F 盘建立目录 MySql\MySqlServer5.1\ 3、把解压的内容复制到 F:\MySql\MySqlServer5.1\4、在 F:\MySql\MySqlServer5.1\ 中找 my-large.ini 把它复制成 my.ini5、在…

网页中插入VLC播放器播放rtsp视频流步骤

1. 仿照http://download.csdn.net/detail/haowenxin123456789/8044245 中步骤&#xff1b; 2. 从http://www.videolan.org/vlc/index.html 中下载 vlc-2.2.1-win32.exe 并安装到D:\\ProgramFiles文件夹下&#xff1b; 3. 运行&#xff1a;regsvr32 D:\\ProgramFil…

@程序员,“10倍工程师”都在追这四大AI风向

技术的发展&#xff0c;驱动着产业变革&#xff0c;从而改变着我们的生活方式。当5GAI 时代来临&#xff0c;核心的技术生产力就是开发者&#xff1a;开发者研究前沿的科学创新&#xff0c;推动技术发展&#xff0c;将技术应用于实际场景中。开发者是企业实现商业价值必不可少的…

End Credits

我不知道怎么把他删掉... 今晚WC文艺汇演wwww(等待唱歌.jpg 要是能截到屏一定发上来qwqqqqq 话说这首曲子是新发现的QAQ(Xeuphoria的还是那么好听qwqqq 今天学了快读qvq 还有...dpwww P2015 二叉苹果树 有一棵苹果树&#xff0c;如果树枝有分叉&#xff0c;一定是分2叉&#xf…

三十六亿的《哪吒》历时五年,如何用AI解决动画创作难题?

作者 | 神经小姐姐来源 | HyperAI超神经&#xff08; ID: HyperAI )【导读】《哪吒之魔童降世》自 7 月 26 日上映以来&#xff0c;好评如潮&#xff0c;票房一路高歌猛进&#xff0c;目前已突破 36 亿。这款火爆的动画背后&#xff0c;是主创团队历时 5 年的细致打磨。而这漫长…

vb.net结构化异常处理和“邪用”

vb.net中的错误处理包括两种&#xff1a;非结构化异常处理技术和结构化异常处理。非结构化异常处理技术在vb 6.0中使用的比较普遍&#xff0c;即通过Err对象和ON Error、Go To、Resume等语句来实现。这种方式可以跟踪最近产生的异常和最近异常处理程序的位置。而结构化异常处理…