嵌入式 QT Creator使用

news2024/9/24 21:27:58

目录

1、QT Creator界面

2、QT Creator设置

3、第一个程序

3.1 新建一个项目

3.2 项目的文件组成和管理

3.3 项目的编译、调试与运行


 

1、QT Creator界面

启动 Qt Creator ,出现如图 1 所示的主窗口:

 

Qt Creator 的界面很简洁。上方是主菜单栏,左侧是主工具栏,窗口的中间部分是工作区。根据设计内容不
同,工作区会显示不同的内容。图 1 是在左侧主工具栏单击“ Welcome (欢迎)”按钮后显示实例的界面。这时
工作区的左侧有 “ Projects ”、“ Examples (示例)”、“ Tutorials (教程)”、“ Get Started Now ”几个按钮,单击后会
在主工作区显示相应的内容:
单击“ Projects ”按钮后,工作区显示新建项目按钮和最近打开项目的列表。
单击“ Examples (示例)”按钮后,工作区显示 Qt 自带的大量实例,选择某个实例就可以在 Qt Creator
中打开该项目源程序。
单击“ Tutorials (教程)”按钮后,工作区显示各种视频教程,查看视频教程需要联网并使用浏览器打开。
单击“ Get Started Now ”按钮,工作区显示“ Qt Creator Manual ”帮助主题内容。
主窗口左侧是主工具栏,主工具栏提供了项目文件编辑、窗体设计、程序调试、项目设置等各种功能按钮。

2、QT Creator设置

Qt Creator 可以进行一些设置,如刚安装好的 Qt Creator 界面语言可能是中文,也可以选择将 Qt Creator 的界面语言设置为英文。

 

单击 Qt Creator 菜单栏的 Tools→Options 菜单项会打开选项设置对话框(如图 2 所示)。对话框的
左侧是可设置的内容分组,单击后右侧出现具体的设置界面。常用的设置包括以下几点:
1. Environment (环境)
设置:在 Interface 页面可以设置语言和主题,本教程全部以中文界面的 Qt Creator
进行讲解,所以语言选择为 Chinese China );为了使界面抓图更清晰,设置主题为 Flat Light 。更改语 言和主题后需要重新启动 Qt Creator 才会生效。
2. Text Editor (文本编辑器)设置:在此界面可以设置文本编辑器的字体,设置各种类型文字的字体颜色, 如关键字、数字、字符串、注释等字体颜色,也可以选择不同的配色主题。编辑器缺省字体的大小为 9 , 可以修改得大一些。
3. Build & Run (构建和运行)设置:图 2 显示的是 Build & Run 的设置界面,它有以下几个页面。
  • 1) Kits(构建套件)页面显示 Qt Creator 可用的编译工具。
  • 2) Qt Versions 页面显示安装的 Qt 版本。
  • 3) Compliers(编译器)页面显示系统里可用的 C 和 C++ 编译器,由于安装了 MinGW 和 Visual Studio 2015,Qt Creator 会自动检测出这些编译器。
  • 4) Debuggers 页面显示 Qt Creator 自动检测到的调试器,有 GNU gdb for MinGW 调试器和 Windows CDB 调试器

3、第一个程序

3.1 新建一个项目

单击 Qt Creator 的菜单项 文件->新建文件或项目 ,出现如图 1 所示的对话框。在这个对话框里选择需要创建的项目或文件的模板。

 

Qt Creator 可以创建多种项目,在最左侧的列表框中单击“ Application ”,中间的列表框中列出了可以创建的
应用程序的模板,各类应用程序如下:
Qt Widgets Application ,支持桌面平台的有图形用户界面( Graphic User Interface GUI ) 界面的应用程
序。 GUI 的设计完全基于 C++ 语言,采用 Qt 提供的一套 C++ 类库。
Qt Console Application ,控制台应用程序,无 GUI 界面,一般用于学习 C/C++ 语言,只需要简单的输
入输出操作时可创建此类项目。
Qt Quick Application ,创建可部署的 Qt Quick 2 应用程序。 Qt Quick Qt 支持的一套 GUI 开发架
构,其界面设计采用 QML 语言,程序架构采用 C++ 语言。利用 Qt Quick 可以设计非常炫的用户界
面,一般用于移动设备或嵌入式设备上无边框的应用程序的设计。
Qt Quick Controls 2 Application ,创建基于 Qt Quick Controls 2 组件的可部署的 Qt Quick 2 应用程序。
Qt Quick Controls 2 组件只有 Qt 5.7 及以后版本才有。
Qt Canvas 3D Application ,创建 Qt Canvas 3D QML 项目,也是基于 QML 语言的界面设计,支持 3D
画布。
在图 1 显示的对话框中选择项目类型为 Qt Widgets Application 后,单击“ Choose …”按钮,出现如
2 所示的新建项目向导:

 

在图 2 中,选择一个目录,如“ E:\QtDemo ”,再设置项目名称为 Demo
这样新建项目后,会在“ E:\QtDemo
目录下新建一个目录,项目所有文件保 存在目录“ E:\QtDemo\Demo\ ”下。
在图 2 中设置好项目名称和保存路径后,单击“ Next ”按钮,出现如图 3 所示的选择编译工具的界面:

 

可以将这几个编译工具都选中,在编译项目时再选择一个作为当前使用的编译工具,这样可以编译生成不同 版本的可执行程序。

 

在图 3 显示的界面中单击“ Next ”按钮,出现如图 4 所示的界面。在此界面中选择需要创建界面的基类( base class)。有 3 种基类可以选择:
QMainWindow 是主窗口类,主窗口具有主菜单栏、工具栏和状态栏,类似于一般的应用程序的主窗口;
QWidget 是所有具有可视界面类的基类,选择 QWidget 创建的界面对各种界面组件都可以 支持;
QDialog 是对话框类,可建立一个基于对话框的界面;
在此选择 QMainWindow 作为基类,自动更改的各个文件名不用手动去修改。勾选“创建界面”复选框。这 个选项如果勾选,就会由 Qt Creator 创建用户界面文件,否则,需要自己编程手工创建界面。初始学习,为了了 解 Qt Creator 的设计功能,勾选此选项。
然后单击“ Next ”按钮,出现一个页面,总结了需要创建的文件和文件保存目录,单击“完成”按钮就可以 完成项目的创建。

3.2 项目的文件组成和管理

完成了以上新建项目的步骤后,在 Qt Creator 的左侧工具栏中单击“编辑”按钮,可显示如图 5 所示的窗 口。

 

窗口左侧有上下两个子窗口,上方的目录树显示了项目内文件的组织结构,显示当 前项目为 Demo 。项目
的名称构成目录树的一个根节点, Qt Creator 可以打开多个项目,但是只有一个活动项目,活动项目的项目名称
节点用粗体字体表示。在项目名称节点下面,分组管理着项目内的各种源文件,几个文件及分组分别为以下几项:
Demo.pro 是项目管理文件,包括一些对项目的设置项。
Headers 分组,该节点下是项目内的所有头文件( .h ),图 5 中所示项目有一个头文件 mainwindow.h , 是主窗口类的头文件。
Sources 分组:该节点下是项目内的所有 C++ 源文件( .cpp ),图 5 中所示项目有两个 C++ 源文件, mainwindow.cpp 是主窗口类的实现文件,与 mainwindow.h 文件对应。 main.cpp 是主函数文件,也是 应用程序的入口。
Forms 分组:该节点下是项目内的所有界面文件( .ui )。图 5 中所示项目有一个界面文件 mainwindow.ui , 是主窗口的界面文件。界面文件是文本文件,使用 XML 语言描述界面的组成。
左侧上下两个子窗口的显示内容可以通过其上方的一个下拉列表框进行选择,可以选择的显示内容包括项 目、打开文档、书签、文件系统、类视图、大纲等。在图 5 中,上方的子窗口显示了项目的文件目录树,下方 显示打开的文件列表。可以在下方选择显示类视图,这样下方则显示项目内所有的类的结构,便于程序浏览和快 速切换到需要的代码位置。 双击文件目录树中的文件 mainwindow.ui ,出现如图 6 所示的窗体设计界面:

 

这个界面实际上是 Qt Creator 中集成的 Qt Designer 。窗口左侧是分组的组件面板,中间是设计的窗体。在 组件面板的 Display Widgets 分组里,将一个 Label 组件拖放到设计的窗体上面。双击刚刚放置的 Label 组件, 可以编辑其文字内容,将文字内容更改为“Hello, World! ”。还可以在窗口右下方的属性编辑器里编辑标签的 Font 属性,Point Size (点大小)更改为 12 ,勾选粗体。

3.3 项目的编译、调试与运行

单击主窗口左侧工具栏上的“项目”按钮,出现如图 7 所示的项目编译设置界面。

 

界面左侧一栏的“ Build & Run ”下面显示了本项目中可用的编译器工具,要使用哪一个编译器用于项目编 译,单击其名称即可,选择的编译器名称会用粗体字表示。这里选择使用 MinGW 32bit 编译器。
每个编译器又有 Build Run 两个设置界面。在 Build 设置界面上,有一个“ Shadow build
复选框。如 果勾选此项,编译后将在项目的同级目录下建立一个编译后的文件目录,目录名称包含编译器信息,这种方式一 般用于使用不同编译器创建不同版本的可执行文件。如果不勾选此项,编译后将在项目的目录下建立“Debug ” 和“Release ”子目录用于存放编译后的文件。
在设计完 mainwindow.ui 文件,并设置好编译工具之后,就可以对项目进行编译、调试或运行。主窗口左侧 工具栏下方有 4 个按钮,其功能见表 1

 

首先对项目进行编译,没有错误后,再运行程序。程序运行的界面如图 8 所示。这就是一个标准的桌面应 用程序,我们采用可视化的方式设计了一个窗口,并在上面显示了字符串“Hello World !”。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/430784.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【架构设计】如何设计一个几十万在线用户弹幕系统

文章目录 一、前言二、项目介绍客户端轮询WebSocket主动推送 三、弹幕初始架构四、弹幕架构演进五、弹幕存储六、弹幕查询七、总结 一、前言 现在无论是直播还是电视剧,我们都可以看到上面慢慢的弹幕,满足十几万用户在线的弹幕系统,我们该如…

ChatGPT 如何获取API Key

什么是OpenAI API Key? OpenAI是ChatGPT的“开发商”,提供API使得开发者可以在自己的应用程序上调用OpenAI的相关服务(除了ChatGPT,OpenAI还有其他产品)。如果想调用OpenAI的产品服务在自己的应用程序上,我们就需要申…

Web接口测试工具---Poster与Postman

工作当中有不少时间在编写和维护接口自动化测试用例。打算先整理一些接口相关工具的使用。 简单对接Web口测试的相关工具/技术做个划分。 HTTP/SOAP协议接口的功能测试: 1、浏览器URL(GET请求) http://127.0.0.1:8000/login/?usernamezhangs…

4.25、IO多路复用简介

4.25、IO多路复用简介 1. I/O多路复用(I/O多路转接)①阻塞等待(BIO模型)②非阻塞,忙轮询(NIO模型)③IO多路转接技术(select/poll)④IO多路转接技术(epoll&am…

基于DeepSpeed训练ChatGPT

基于DeepSpeed训练ChatGPT 最少只需一张32G GPU,自己也可以训练一个ChatGPT! 最近微软发布了一个基于DeepSpeed的训练优化框架来完成ChatGPT类模型的训练,博主对其进行了研究并通过此博文分享相关技术细节。 一、配置预览 1、开源仓库&…

如何更换电脑背景图片?这样做很简单!

案例:怎样把电脑背景图换成自己的照片? 【我的电脑背景图片是系统自带的壁纸,不太好看,我想把它换成自己的照片。有没有小伙伴知道电脑怎么更换背景图片?在线求个简单的方法!】 在日常生活中,…

YOLOV5引入SE注意力机制以及精度提升问题

YOLOV5引入SE注意力机制以及精度提升问题 1. 如何增加SE注意力机制 在model/common.py中添加SE结构 class SE(nn.Module):def __init__(self, c1, c2, r16):super(SE, self).__init__()self.avgpool nn.AdaptiveAvgPool2d(1)self.l1 nn.Linear(c1, c1 // r, biasFalse)sel…

23-Ajax-axios

一、原生Ajax <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice-width…

用canvas画曲线图

1.创建 canvas 绘图上下文&#xff08;指定 canvasId&#xff09; 定义&#xff1a;在自定义组件下&#xff0c;第二个参数传入组件实例this&#xff0c;以操作组件内 canvas 组件。需要指定 canvasId&#xff0c;该绘图上下文只作用于对应的 canvas。 参数 参数类型说明can…

jQWidgets V15.0[2023-03-03] Crack

高级 JavaScript 和 HTML5 用户界面框架 jQWidgets 为构建专业网站和移动应用程序提供了全面的解决方案。它完全基于 HTML5、CSS 和 JavaScript 等开放标准和技术构建。jQWidgets 支持响应式 Web 开发&#xff0c;并帮助您创建在台式机、平板电脑和智能手机上看起来很漂亮的应…

Jenkins构建结果自定义内容推送企业微信

环境&#xff1a;gitlab、jenkins(2.400,windows环境下&#xff09;、企业微信 功能&#xff1a;推送构建人、构建时长、构建结果、git提交信息到企业微信并相应提交人 一、企业微信添加群聊机器人 在弹出的页面添加一个新的机器人&#xff0c;创建完成后会有一个webhook地址…

Django DRF - 认证Authentication

1.概念 身份验证是将传入请求与一组标识凭据&#xff08;例如&#xff0c;请求来自的用户或与其进行签名的令牌&#xff09;相关联的机制。然后&#xff0c;权限和限制策略可以使用这些凭据来确定是否应允许该请求。 身份验证本身不会允许或不允许传入的请求&#xff0c;它只…

最好用的中文分词库cppjieba_ok【可直接编译使用用版】

最好用的中文分词库cppjieba_ok【可直接编译使用用版】 中文分词技术在自然语言处理领域中扮演着非常重要的角色&#xff0c;其中cppjieba是一个高效、开源的中文分词库&#xff0c;它提供了多种分词算法和分词模式&#xff0c;并且能够支持多线程&#xff0c;能够大大提升分词…

计算机组成原理——第五章中央处理器(中)

辞别再无相见月&#xff0c;终是一人度春秋 文章目录前言5.4.1 硬布线控制器的设计5.4.2 微程序控制器的基本原理5.4.3 微指令的设计5.4.4 微程序控制单元的设计前言 本文主要写的是控制器的设计&#xff0c;控制器的设计分为硬部件控制器(就是用纯硬件的方式来实现的一种控制…

Asp net core写法

变量和字符串赋值 $"{变量}字符串" 列如 $"{a}你好" 全球唯一标识符 Guid.NewGuid() 线程 Task Map Dictionary<string,object> using 定义对象的使用范围&#xff0c;即使释放对象 using(Student student new Student() ) { } 异步编程&#x…

博客友链效果

学习风宇blog flex布局使用百分比作2栏网格布局&#xff0c;内部也是使用flex布局做左图右文使用IntersectionObserver这个浏览器提供的Api&#xff0c;配合vue指令&#xff0c;当元素出现在可视区时&#xff0c;添加上移的动画效果。注意&#xff1a;元素的初始状态&#xff…

Clion 创建的Qt程序界面是老式风格

环境&#xff1a; Clion版本&#xff1a;CLion 2023.1.1Qt 5.15.2 问题 当使用Clion创建Qt程序&#xff0c;不管是选择MinGW编译器还是MSVC编译器&#xff0c;显示出来的界面都很old style 即老式的界面风格&#xff0c;如图所示&#xff1a; 原因 产生这个问题的原因是…

现在培训IT技术出来还能就业吗?

受疫情影响&#xff0c;近三年各行业都是在裁员节流&#xff0c;直接倒闭的也是常态。互联网企业也不能幸免于难&#xff0c;被裁掉了一大波基础或中级技术岗位&#xff0c;还有一部分中高层领导降薪。然后就到处疯传IT行业不行了&#xff0c;大家都失业了&#xff0c;但你知道…

算法训练第五十六天 | 583. 两个字符串的删除操作、72. 编辑距离、编辑距离总结篇

这里写自定义目录标题583. 两个字符串的删除操作题目描述思路动态规划一动态规划二72. 编辑距离&#xff08;困难&#xff09;题目描述思路编辑距离总结篇583. 两个字符串的删除操作 题目链接&#xff1a;583. 两个字符串的删除操作 参考&#xff1a;https://programmercarl.c…

clickhouse跳表索引最佳实践--minmax索引+Set索引

背景 我们知道对于clickhouse这种列式存储数据库来说&#xff0c;它虽然也提供了与mysql的btree的二级索引类似的跳表索引的功能&#xff0c;但是其实跳表索引和btree的二级索引有根本上的不同&#xff0c;比如mysql的二级索引一般来说应用于高基数的列的效果是最佳的&#xf…