网站首页 > 技术文章 正文
一、安装Qt 5.9
下载链接
http://download.qt.io
www.ffmpeg.club
安装Qt5.9
访问http://download.qt.io/archive/qt/5.9/5.9.8/,下载qt-opensource-linux-x64-5.9.8.run
安装依赖包:
$ apt install g++ make libgl1-mesa-dev
开始安装:
$ ./qt-opensource-linux-x64-5.9.8.run
Qt会被默认安装到opt/Qt5.9.8/,启动Qt Creator
$ /opt/Qt5.9.8/Tools/QtCreator/bin/qtcreator
Qt5.9目录和文件说明
$ tree opt/Qt5.9.8/ -L 1
/opt/Qt5.9.8/
├── 5.9.8
├── components.xml
├── dist
├── Docs
├── Examples
├── InstallationLog.txt
├── installer.dat
├── Licenses
├── MaintenanceTool
├── MaintenanceTool.dat
├── MaintenanceTool.ini
├── network.xml
└── Tools
文件/目录 | 作用 |
5.9.8 | 支持的平台的SDK和源码,其中gcc_64目录对应的就是64bit Ubuntu PC机使用的SDK。 |
Docs | 开发者文档,非常完善,可在Qt Creator的Welcome->Get Started Now中打开 |
Examples | 示例源码,可在Qt Creator的Welcome->Examples中打开,每个示例都提供了丰富的help信息 |
Tools | 包括Qt Creator,它本身也是Qt编写的,但是使用的SDK跟当前安装的不是同一套 |
- gcc_64/bin目录:
o assistant,帮助手册;
o designer,界面设计器,Qt最强大的就是界面设计,其设计器自动生成的代码跟用户编写的代码是完全分离的;
o uic,Qt User Interface Compiler,将界面的xml文件编译成c++代码;
o moc,Qt Meta Object Compiler,信号槽工具,Qt最核心的工具;
- gcc_64/include目录存放头文件,用Qt Creator创建项目时头文件路径会自动指向这里;
- gcc_64/lib目录存放库文件,用Qt Creator创建项目库文件路径会自动指向这里;
- gcc_64/plugins目录存放各种功能插件;
二、创建第一个Qt程序
启动Qt Creator:
$
/opt/Qt5.9.8/Tools/QtCreator/bin/qtcreator
依次选择:
New Projetc->Qt Widgets Application->Kit Selection(Desktop Qt 5.9.8 Gcc 64bit)->Base class(QWidget)->Finish
- Qt创建的程序是可以跨平台的,这里的Kit Selection选择的就是为什么平台编译程序,可以多选,Desktop Qt 5.9.8 Gcc 64bit对应的就是64bit Ubuntu PC机平台。
- QWidget是Qt里最简单的控件,它基本上所有Qt控件的基类。
Qt Creator创建的文件:
- 1st_demo.pro是项目的配置文件,Qt会根据pro文件来生成makefile,我们需要了解如何手动配置pro文件;
- widget.cpp/widget.h里自定义了一个Widget类,继承了QWidget。Qt里用户通过继承控件类的方式来使用控件;
- main.cpp是入口文件,QApplication a对象用于管理整个应用程序所用到的资源,当所有控件准备就绪并显示后,执行a.exec()进入事件循环状态,程序等候用户的动作;
- widget.ui是界面设计文件,是xml文件,双击可以打开Qt designer;
运行效果:
打开Compile Output->Crtl+R编译并运行。
在项目源码1st_demo的同级目录下生成了
build-1st_demo-Desktop_Qt_5_9_8_GCC_64bit-Debug目录:
$ tree build-1st_demo-Desktop_Qt_5_9_8_GCC_64bit-Debug/build-1st_demo-Desktop_Qt_5_9_8_GCC_64bit-Debug/
├── 1st_demo
├── main.o
├── Makefile
├── moc_predefs.h
├── moc_widget.cpp
├── moc_widget.o
├── ui_widget.h
└── widget.o
- 1st_demo:可执行文件,./1st_demo可直接运行;
- Makefile:通过1st_demo.pro生成了Makefile;
- ui_widget.h:界面设计xml代码对应的C++代码文件
- moc_widget.cpp:信号槽的内部实现位于该文件;
嵌入式物联网需要学的东西真的非常多,千万不要学错了路线和内容,导致工资要不上去!
无偿分享大家一个资料包,差不多150多G。里面学习内容、面经、项目都比较新也比较全!某鱼上买估计至少要好几十。
点击这里找小助理0元领取:加微信领取资料
查看编译过程:
1) /opt/Qt5.9.8/5.9.8/gcc_64/bin/qmake /root/opensource/wwd_source_lib/c++/Qt/c++_gui_qt4_book/1st_demo/1st_demo.pro -spec linux-g++ CONFIG+=debug CONFIG+=qml_debug
在当前目录(build-1st_demo-Desktop_Qt_5_9_8_GCC_64bit-Debug)下生成Makefile;
2) /usr/bin/make -f /root/opensource/wwd_source_lib/c++/Qt/c++_gui_qt4_book/build-1st_demo-Desktop_Qt_5_9_8_GCC_64bit-Debug/Makefile qmake_all
执行make命令进行编译:
$ /opt/Qt5.9.8/5.9.8/gcc_64/bin/uic ../1st_demo/widget.ui -o ui_widget.h将界面设计xml文件转换为C++文件;$ g++ XXX -o main.o ../1st_demo/main.cpp编译main.cpp;$ g++ XXX -o moc_predefs.h /opt/Qt5.9.8/5.9.8/gcc_64/mkspecs/features/data/dummy.cpp生成moc_predefs.h;$ g++ XXX -o widget.o ../1st_demo/widget.cpp编译widget.cpp;$ /opt/Qt5.9.8/5.9.8/gcc_64/bin/moc XXX ../1st_demo/widget.h -o moc_widget.cpp生成moc_widget.cpp;$ g++ XXX -o moc_widget.o ../1st_demo/moc_widget.cpp编译moc_widget.cpp;$ g++ -Wl,-rpath,/opt/Qt5.9.8/5.9.8/gcc_64/lib -o 1st_demo main.o widget.o moc_widget.o -L/opt/Qt5.9.8/5.9.8/gcc_64/lib -lQt5Widgets -lQt5Gui -lQt5Core -lGL -lpthread生成执行文件1st_demo;
到此,Ubuntu下Qt5.9的开发环境就算准备完毕了。
文章链接:
https://mp.weixin.qq.com/s/-Q4dcHgadpRjKsBv--sYog
转载自:老吴嵌入式,作者吴伟东Jack
文章链接:Qt入门_Ubuntu下准备Qt开发环境
猜你喜欢
- 2025-07-23 打造一个导航主页竟然如此容易?对!用腾讯云轻量服务器
- 2025-07-23 Vue、Nuxt服务端渲染、NodeJS全栈项目
- 2025-07-23 局域网秒传神器(局域网秒传神器怎么用)
- 2025-07-23 电脑太老了怎样更新系统(电脑太老能升级系统吗)
- 2025-07-23 还在用Jenkins?试试这款面向DevOps的自动化部署工具吧,贼带劲
- 2025-07-23 酸甜可口“乌莓派”——Ubuntu+Raspberry Pi魔镜之旅(一)
- 2025-07-23 群晖DS213j-小白的NAS之路 篇二:网页和本机电影播放+磁盘阵列SHR转BASIC
- 2025-07-23 安装VMware Tools教程详解(经过实测,确保可用)
- 2025-07-23 使用了一年半的Linux,关于我的感受
- 2025-07-23 手把手教你如何上传代码到gitee服务器
- 最近发表
-
- Qt编程进阶(63):Qt Quick高级控件的使用
- Qt编程进阶(47):QML鼠标事件处理(qt编程难不难)
- 使用Xamarin和Visual Studio开发Android可穿戴设备应用
- Qt使用教程:创建Qt Quick应用程序(三)
- QML性能优化 | 常见界面元素优化(qml布局自适应大小)
- Qt使用教程:创建移动应用程序(二)
- Qt Quick 多媒体开发播放音乐和视频
- Qt使用教程:创建Qt Quick UI表单(三)
- 如何将 Qt 3D 渲染与 Qt Quick 2D 元素结合创建太阳系行星元素?
- QML控件:TextInput, TextField, TextEdit, TextArea用法及自定义
- 标签列表
-
- axure 注册码 (25)
- exploit db (21)
- mutex_lock (30)
- oracleclient (27)
- nfs (25)
- springbatch (28)
- oracle数据库备份 (25)
- dir (26)
- connectionstring属性尚未初始化 (23)
- output (32)
- panel滚动条 (28)
- centos 5 4 (23)
- sql学习 (33)
- c 数组 (33)
- pascal语言教程 (23)
- ppt 教程 (35)
- java7 (24)
- 自适应网站制作 (32)
- server服务自动停止 (25)
- 超链接去掉下划线 (34)
- 什么是堆栈 (22)
- map entry (25)
- ubuntu装qq (25)
- outputstreamwriter (26)
- fill_parent (22)