QT简介及QT环境搭建-程序员宅基地

技术标签: QT  

QT简介及QT环境搭建

一、QT简介

1. 什么是QT?

Qt是一个1991年由Qt Company开发的跨平台C++图形用户界面应用程序开发框架 它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器Qt是面向对象的框架,使用特殊的代码生成扩展(称为元对象编译器(Meta Object Compiler, moc))以及一些宏,Qt很容易扩展,并且允许真正地组件编程。

2. QT的发展史

  • 1991–Haavard Nord和Eirik Chambe-Eng开始开发将会支持X11和Windows的Qt
  • 1994–Qt Company成立
  • 1996–KDE项目由MatthiasEttrich创建(Matthias现为诺基亚Qt发展框架工作)
  • 1998 Apr 05Trolltech的程序员在 5 天之内将 Netscape5.0 从Motif移植到 Qt 上
  • 1998 Apr 08 KDE Free Qt 基金会成立
  • 2000 Oct 30 Qt/Embedded 开始使用GPL宣言
  • 2000 Sep 04 Qt free edition 开始使用 GPL
  • 2008 Nokia从Trolltech公司收购Qt,并增加LGPL的授权模式
  • 2011 Digia从Nokia收购了Qt的商业版权,从此Nokia负责Qt on Mobile,,Qt Commercial由Digia负责
  • 2014年4月,Digia公司Qt开发团队宣布Qt Creator 3.1.0正式版发布。
  • 2014年5月20日,Digia公司Qt开发团队宣布Qt 5.3正式版发布。
  • 2019年,Qt团队宣布最新版5.13版本发布。

3. QT支持的平台

Qt支持下述平台:
MS/Windows - 95、98、NT4.0、ME、2000、XP 、 Vista、Win7、win8、win2008、win10
Unix/X11 -Linux、SunSolaris、HP-UX、CompaqTru64 UNIX、IBMAIX、SGI IRIX、FreeBSD、BSD/OS和其它很多X11平台
Macintosh -Mac OS X
Embedded - 有帧缓冲(framebuffer)支持的嵌入式Linux平台,Windows CE、Symbian、Symbian^3、Symbian Anna、Symbian Belle、MeeGo、haiku-os。

4. QT的优点

A、优良的跨平台特性
Qt支持下列操作系统: Microsoft Windows,Linux,Solaris, SunOS, HP-UX, Digital UNIX (OSF/1,Tru64),Irix,FreeBSD,BSD/OS,SCO,AIX,OS390,QNX等等

B、面向对象
Qt的良好封装机制使得Qt的模块化程度非常高,可重用性较好,对于用户开发来说非常方便。 Qt提供了一种称为signals/slots的安全类型来替代 callback,使得各个元件之间的协同工作变得十分简单。

C、丰富的API
Qt包括多达250个以上的C++类,还提供基于模板的collections, serialization,file,I/O device,directory management,date/time类。

D、支持2D/3D图形渲染,支持OpenGL

E、大量的开发文档

F、XML支持

5. QT开发工具

QT开发工具包含 Qt Creator、Qt Designer、Qt Linguist、Qt Assistant、Qmake

1、Qt Creator
Qt Creator是用于Qt开发的轻量级跨平台集成开发环境。

2、Qt Designer
Qt Designer是强大的拖曳式图形化用户界面排版和设计工具。

Qt Designer功能如下:

A、支持表单和对话框的创建,可即时预览

B、与Qt版面系统集成

C、宏大的标准widgets集

D、支持客户定制的widgets和对话框

E、与Microsoft Visual Studio .NET无缝集成

Qt Designer优势如下:

A、大大加快了界面的设计过程
B、支持所有平台上的本地外观感觉
C、开发者能在自行选择的工作环境内充分发挥其现有技能

3、Qt Linguist
Qt Linguist一整套工具,支持对Qt应用作快捷无误的翻译,是一组能理顺国际化工作流的工具。

Qt Linguist功能如下:

A、采集所有的用户界面文本并以一个简洁的窗口将其展现给人工译者

B、支持所有语言

C、从单一应用的二进制程序内部提供同时多语言支持及同时多写入系统

Qt Linguist优势如下:

A、大大加快了翻译/本地化进程

B、与Qt的语言敏感排版引擎协同,以创建与语言不相关的简洁一致的界面

C、轻松应对国际市场

4、Qt Assistant
Qt Assistant是可定制可重发布的帮助文件和文档阅读器。

Qt Assistant功能如下:

A、简单明快的web浏览器般导航、书签和文档文件连接

B、支持富文本HTML

C、全文本关键词查阅

D、可定制并随Qt供应

Qt Assistant优势如下:

A、无需再从头开始构建帮助系统

B、充分利用现有的HTML技能

C、以方便搜寻和导航的格式向最终用户提供文档

5、Qmake

Qmake跨平台makefile生成器。

Qmake功能如下:

A、读取工程源码,生成依赖关系树,生成平台相关工程和makefiles

B、与Visual Studio及Xcode集成

Qmake优势如下:

A、无需担忧跨平台编译

B、降低对makefile手工构建的需求度

5. QT模块
QT模块分为QT基础模块和QT扩展模块

二、QT环境搭建(CentOS7)

安装QT5.9(不要在Xhsell上,要在CentOS上)

  1. 下载

这里我选择的是 qt-opensource-linux-x64-5.9.5.run

  • 在Centos使用wget来下载
wget http://download.qt.io/official_releases/qt/5.9/5.9.5/qt-opensource-linux-x64-5.9.5.run
  1. 安装

  2. 预安装

yum -y install mesa-libGL-devel mesa-libGLU-devel freeglut-devel
  1. 然后使用转到root用户下,给下载的文件赋予可执行的权限
chmod +x qt-opensource-linux-x64-5.9.5.run
  1. 执行文件,进行安装
./qt-opensource-linux-x64-5.9.5.run
  1. 界面化的安装过程,一路next下来,实在看不懂英文就有道一下。遇见登录,可以选择跳过。

  2. 配置环境变量(所有的路径以自己安装QT的位置决定),这一步至关重要!!!
    所有的路径以自己安装QT的位置决定
    所有的路径以自己安装QT的位置决定
    所有的路径以自己安装QT的位置决定
    所有的路径以自己安装QT的位置决定
    所有的路径以自己安装QT的位置决定
    将路径加入到 /etc/ld.so.conf(root)中,见下图:
    在这里插入图片描述
    /etc/ld.so.conf

/home/wolf/Qt5.9.4/5.9.4/gcc_64/lib
/home/wolf/Qt5.9.4/Tools/QtCreator/lib
  1. ~/.bash_profile(root):
PATH=/home/wolf/Qt5.9.4/5.9.4/gcc_64/bin:/home/wolf/Qt5.9.4/Tools/QtCreator
												/bin$PATH:$HOME/bin
  1. 然后设置PATH环境变量(root)
    进入.bashrc中,vim ~/.bashrc
    在PATH后加入:
/opt/Qt5.9.5/5.9.5/gcc_64/bin:/opt/Qt5.9.5/Tools/QtCreator/bin

在这里插入图片描述

  1. 让配置生效:
source ~/.bashrc
  1. 配置相关命令环境变量(qmake)
  • /etc/profile当中配置(root):
#               
#export QTDIR=/home/wolf/Qt5.9.4/5.9.4/gcc_64
#             
#export PATH=$QTDIR/bin:$PATH
#
#export MANPATH=$QTDIR/man:$MANPATH
#
#export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
  • ~/.bashrc当中配置(普通):
#export QTDIR=/home/wolf/Qt5.9.4/5.9.4/gcc_64
#
#export PATH=$QTDIR/bin:$PATH
#
#export MANPATH=$QTDIR/man:$MANPATH
#
#export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

都要source或者重启一下

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/wolfGuiDao/article/details/105444876

智能推荐

uniapp视频播放器(h5+app)

这是关于一篇在uniapp使用video视频播放器,支持自定义播放器样式,支持手势操作,选集、倍数和清晰度切换,支持SRT字幕格式。

uCosii从任务的建立到运行_ucosii用户任务中都有参数初始化,先执行哪个-程序员宅基地

文章浏览阅读823次。μC/OS-Ⅱ从任务的建立到运行提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、任务建立到运行整体流程二、分步功能实现1.μC/OS-Ⅱ初始化2.读入数据总结前言最近在学习ucosii实时操作系统,记录下学习过程,以待日后查阅.tips:本文所用ucosii版本为V2.86,硬件平台为STM32.一、任务建立到运行整体流程μC/OS-Ⅱ任务从建立到运行的整体流程如下所述:1. μC/OS-Ⅱ初始化: OSInit();2. 创建任务: Create_T_ucosii用户任务中都有参数初始化,先执行哪个

【燃料电池】燃料电池并网以最大额定功率运行研究(Simulink实现)_如何实现燃料电池大规模并网-程序员宅基地

文章浏览阅读260次。控制和电流谐振控制方法,增强了系统的稳定性,提高了供电质量。部分文献针对风力发电、太阳电池并网系统的小干扰稳定性进行研究,对燃料电池发电系统稳定性分析具有一定指导意义。文献[6,7]则分别建立太阳电池和风力发电系统的小信号模型,利用特征值分析法对系统的小干扰稳定性进行分析。文献[8]在光伏发电系统控制器参数进行全局优化以提高系统稳定性,但只考虑特征值作为单一优化目标,没有考虑阻尼比对系统稳定的影响,影响了控制参数的优化效果。在该模型中,燃料电池连接到电网,并由基于功率的控制器控制。行百里者,半于九十。_如何实现燃料电池大规模并网

AGI要闻:斯坦福李飞飞首次创业,瞄准“空间智能”;OpenAI下周发布搜索产品挑战谷歌;新的开源 AI 眼镜来了|钛媒体AGI | 最新快讯

她的专业领域是计算机视觉和认知神经科学。对于这家新的初创公司介绍,一位消息人士提到,上个月,李飞飞在温哥华 TED 大会上演讲中表示,最前沿的 AI 研究涉及一种算法,这种算法可以合理地推断出图像和文字在三维环境中的样子,并根据这些预测采取行动,这种算法使用的概念叫做“空间智能”。让机器狗在瑜伽球上保持平衡是很有挑战的任务,在没有大语言模型之前需要人去调整参数,但现在像 GPT-4 这样的大语言模型,因为本身就具备了丰富的物理知识,所以大语言模型可以代替人类去调整参数,并根据反馈的结果进行推理和参数调整。

Pytorch加载本地自己整理好的cifar10或cifar100数据集,并进行训练_cifar100 pytorch-程序员宅基地

文章浏览阅读6.7k次,点赞11次,收藏49次。Pytorch加载本地自己整理好的cifar10数据集,并进行训练这里写自定义目录标题1.下载数据集2.解压3.复制移动4.修改tv.datasets.CIFAR10源码使用pytorch在线下载cifar10数据集时,经常报错,而且很慢,倘若下载cifar100,那等待时间可想而知了。为了不浪费时间等待,可以将数据集先下载到本地,在自行加载,下面介绍一种修改源码简单的方法。1.下载数据集(随意下载,官网地址:http://www.cs.toronto.edu/~kriz/cifar-10-pytho_cifar100 pytorch

大象机器人开源六轴协作机械臂myCobot 320 手机摄影技术!

这些问题标志着我后续研究的重点方向,需要我继续深入学习AVFoundation框架的使用,特别是其控制摄像头的具体方法,并探索如何将这些控制整合到机械臂的运动调整中,以确保最终拍摄出的视频质量符合预期。尽管目前市场上有许多稳定设备如平衡环架(gimbal)来辅助拍摄,以求达到稳定和多角度的拍摄效果,但在此篇文章中,我将探索一种独特的解决方案:通过将手机安装在机械臂的末端来进行拍摄,以实现那些传统方法难以捕捉的特殊视角。随着人工智能技术的不断进步和普及,AI与机器人的结合无疑将成为未来技术发展的重要趋势。

随便推点

第十五周 项目 1 - 验证算法_insertht(hashtable ha[], int& n, int m, int p, key-程序员宅基地

文章浏览阅读316次。/* *Copyright (c) 2016,烟台大学计算机学院 *All right reserved. *文件名称:test.cpp *作者:杨天瑞 *完成日期:2016年12月16日 *版本号:v1.7.5 * * 问题描述:验证算法。 * 程_insertht(hashtable ha[], int& n, int m, int p, keytype k)

react-native之项目结构分析_react native课程的项目分析-程序员宅基地

文章浏览阅读6k次,点赞5次,收藏10次。前言庖丁为文惠君解牛,手之所触,肩之所倚,足之所履,膝之所踦,砉然响然,奏刀騞然,莫不中音。合于桑林之舞,乃中经首之会。熟悉项目的结构,是开发的基本也是技术提升的一个重要途径,现总结下自己对react-native项目结构的分析与理解。正文项目结构init 的一个项目结构如图:tests:测试文件夹,执行命令 “npm test”会调用此文件夹,在文件夹中需要引入待测试文件。android:An_react native课程的项目分析

uniapp开发公众号,微信开发者工具进行本地调试_uniapp使用微信开发者工具 利用公众号调试的方法-程序员宅基地

文章浏览阅读584次。uniapp开发公众号,微信开发者工具进行本地调试_uniapp使用微信开发者工具 利用公众号调试的方法

【内网安全】Cobalt Strike 使用_cobalt strike argue-程序员宅基地

文章浏览阅读2.1k次。文章目录Beacon命令argue参数污染Beacon命令argue参数污染argue net1 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxArgueexecute net1 user test test123 /addexecute net1 localgroup administrators test /addargue 进程参数欺骗argue [command] [fake arguments]argue 命令 假参数 欺骗某个命令参数argue [com_cobalt strike argue

Qt在线安装教程(详细图文)_qt安装教程-程序员宅基地

文章浏览阅读3.2w次,点赞67次,收藏230次。大家好我是ζ小菜鸡,小伙伴们,让我们一起来学习Qt在线安装。(一起努力,咱们顶峰相见!!!)_qt安装教程

【PTA题目解答】 6-4 输入年份和天数,输出对应的年、月、日 (15分)_要求定义和调用函数month_day ( year, yeardy, *pmonth, *pday…-程序员宅基地

文章浏览阅读7.4k次,点赞7次,收藏7次。6-4输入年份和天数,输出对应的年、月、日(15分)要求定义和调用函数month_day ( year, yeardy, *****pmonth, *pday),通过参数pmonth和pday返回计算得出的月和日。例如,输入2000和61,分别返回3和1,即2000年的第61天是3月1日。函数接口定义:void month_day ( year, yeardy, *pmonth, *pday)其中year是年,yearday是天数,****pmonth和pday是计算得出的月和日。..._要求定义和调用函数month_day ( year, yeardy, *pmonth, *pday…

推荐文章

热门文章

相关标签