当前位置: 首页 > news >正文

Qt:Qt Creator项目创建

目录

认识Qt Creator

Qt Creator概览

使用Qt Creator新建项目

选择项目模板

选择项目路径

选择构建系统

填写类信息设置界面

选择语言和翻译文件

选择Qt套件

选择版本控制系统

最终效果


认识Qt Creator

Qt Creator概览

从开始菜单或者快捷方式打开Qt Creator集成开发环境,启动之后看到类似下面的界面:

①:菜单栏 菜单栏一共有八个菜单选项,包含了常用的功能菜单:

文件包含了新建、打开、关闭项目和文件、打印和退出等基本功能。
编辑包含了撤销、剪切、复制、查找和选择编码等功能。
构建包含构建和运行项目等相关功能。
调试包含调试运行项目等相关功能。
Analyze包含QML分析器、Valgrind内存和功能分析器等相关功能。
工具提供了快速定位菜单、外部工具菜单等。这里的选项菜单中包含了Qt Creator各个方面的设置选项:环境设置、文本编辑器设置、帮助设置、构建和运行设置、调试器设置和版本控制设置等。
控件包含了设置窗口布局的⼀些菜单,如全屏显示和隐藏边栏功能等。
帮助包含Qt帮助、Qt Creator版本信息、报告bug和插件管理等菜单。

②:模式选择

欢迎模式主要提供了一些功能的快捷入口,如打开帮助教程、打开实例程序、打开项目、新建项目、快速打开以前的项目和会话、联网查看Qt官方论坛和博客等。示例页面显示了 Qt自带的大量示例程序,并提供了搜索栏从而实现快速查找;教程页面提供了⼀些视频教程资源,但是是英文的。
编辑模式主要用来查看和编辑程序代码,管理项目文件。Qt Creator中的编辑器具有关键字特殊颜色显示、代码自动补全、声明定义间快捷切换、函数原型提示、F1键快速打开相关帮助和全项目中进行查找等功能。也可以在 "工具---->选项 " 菜单中对编辑器进行设置。
设计模式整合了Qt Designer的功能。可以设计图形界面,进行部件属性设置、信号和槽设置、布局设置等操作。
调试模式支持设置断点、单步调试和远程调试等功能,包含局部变量和监视器、断点、线程以及快照等查看窗口。
项目模式包含对特定项目的构建设置、运行设置、编辑器设置、代码风格设置和依赖关系等页面。构建设置中可以对项目的版本、使用的Qt版本和编译步骤进行设置;编辑器设置中可以设置文件的默认编码;在代码风格设置中可以设置自己的代码风格。
帮助模式在帮助模式中将Qt助手整合了进来,包含目录、索引、查找和书签等几个导航模式,可以在帮助中查看Qt和Qt Creator的各方面信息。

④:欢迎模式下的窗口工作方式

Project用来新建工程、打开工程
示例Qt官方的一些示例
教程Qt官方教程

⑤:定位器 使用定位器来快速定位项目、文件、类、方法、帮助文档以及文件系统。可以使用过滤器来更加准确地定位要查找的结果

⑥:输出窗格 输出窗格包含了问题、搜索结果(Search Results)、应用程序输出、编译输出、Debugger Console、概要信息、测试结果(Test Results)7个选项,它们分别对应⼀个输出窗口,响应的快捷键依次是 Alt+数字1~7。

问题问题窗口显示程序编译时的错误和警告信息
Search Results搜索结果窗口显示执行了搜索操作后的结果信息
应用程序输出应用程序窗口显示应用程序运行过程中输出的所有信息
编译输出编译输出窗口显示程序编译过程输出的相关信息

⑦:会话记录 可以对会话进行管理,包括Clone。如果没打开工程,则显示的是最后⼀次打开的(会话)工程,否则,显示当前的会话(工程)。

⑧:新建项目

⑨:打开已有项目


使用Qt Creator新建项目

打开Qt Creator,在菜单栏中选中"文件","新建文件或项目"或者使用快捷键Ctrl+n或者直接点击"new"。

在欢迎模式下,直接点击New,如下图所示:


选择项目模板

弹出如下对话框:

​​​新建项目对话框里有五类项目模板:

项目模板说明
ApplicationQt应用程序,包括普通窗体程序和Qt Quick程序
Library可以创建动态库、静态库以及Qt Quick扩展插件、QtCreator自身插件
其他项目可以创建单元测试项目、Qt4设计师自定义控件、子目录项目等
Non-Qt-Project
非Qt项目。可以创建纯C或纯C++项目
Import Project
导⼊项目,从版本控制系统管理的软件项目导入旧的项目

常用的只有第一类Application,选择它,在右侧会看到Qt应用程序的五个子模板:

  • Qt Widgets Application:普通窗体模板,传统基于部件的窗体界面程序
  • Qt Console Application:Qt控制台应用程序。因为Qt主要用于图形界面设计,这个控制台项目模板基本不用
  • Qt for Python:在Python下用LGPL的许可来开发闭源Qt软件
  • Qt Quick Application:Qt提供的⼀种高级用户界面技术,使用它可以方便快速的为移动以及嵌入式设备开发流畅美观的用户界面。Qt Quick模块是开发QML应用的标准库,提供了使用QML创建用户界面所需的⼀切,包括可视化、交互、动画、模型、视图、粒子效果以及着色效果等。

选择不同的项目模板, Qt Creator 就会在后续项目创建好了之后生成不同的基础代码


选择项目路径

给Qt项目命名及选择保存项目的路径


选择构建系统

选择Qt项目的构建系统,使用默认的"qmake"即可。

Qt 中的构建工具有三种可供选择,分别是:qmake、CMake、Qbs。

  • qmake:qmake是⼀个构建工具(build tool),用于自动⽣成makefile文件。qmake 支持跨平台构建。qmake编辑的是⼀个后缀名为.pro的文件
  • CMake:CMake是⼀个跨平台的构建工具。CMake本身不是⼀个编译器,其实就是生成⼀个让编译器能读懂编译流程的文件工具。让CMake自动生成构建系统,例如 Makefile和Visual Studio项目文件。CMake是⼀个第三方工具,有自己的文档。
  • Qbs:Qbs(Qt Build Suite:Qt构建套件)同 qmake、CMake ⼀样都是构建工具。Qbs 号称是新⼀代的构建工具,比 qmake 编译速度更快。Qbs没有绑定Qt版本,它从项目文件的高级项目描述中生成⼀个正确的依赖表。而传统的MakeFile生成工具如qmake和CMake,其在生成MakeFile文件后将实际的命令交给Make工具去执行

Qt官方声明,因市场原因,弃用Qbs 。对于 Qt 用户来说,qmake 是当前使用最广泛的构建工具,CMake其次。


填写类信息设置界面

对于基类的选择,目前有三种基类:

基类说明
QMainWindow主窗口类,⼀般用于较为复杂的应用程序,除了中央客户区界面,还包括菜单栏、工具栏、状态栏以及多个可停靠的工具对话框等
QWidget最简单、最基本的窗体程序,里面可以放置多个控件实现程序功能
QDialog基于对话框的程序,对话框一般用于弹窗,也可以用于主界面显示。对话框是从QWidget继承而来的,并丰富了⼀些功能,如模态显示和返回值等

上述三个类之间的关系如下图:


选择语言和翻译文件

点击 "下⼀步" 进入如下界面:

此处选择的语言是 "汉语","英语"这样的语言,而不是 "编程语言"

由于暂时不考虑国际化问题, 直接下⼀步即可


选择Qt套件

默认只有第⼀个 "Desktop Qt 5.14.2 MinGW 64-bit",如果安装配置了多个 Qt 套件,就可以都选上。

Qt 套件是指 Qt 程序从编译链接到运⾏环境的全部工具和 Qt 类库的集合,对于 MinGW 版本 Qt 程序生成和调试,至少需要 MinGW 中的编译器 g++(自动调用链接器)、g++ 配套的基础库、调试器 gdb 还有使用 MinGW 环境编译而成的 Qt 类库自身。默认情况下,在上面Kit Selection里选中全部套件。


选择版本控制系统

点击 "下⼀步" 进入项目管理界面;在项目管理界面可以设置作为子项目,以及加入版本控制系统管理。这两个功能暂时用不到,都用默认的 <None> ,然后点击 "完成" 。

若想把代码提交到码云或者github,可以在此处选择git作为版本控制系统。


最终效果

项⽬创建完成之后,Qt Creator 会直接进入代码编辑模式,可以看到类似下图界面:

相关文章:

Qt:Qt Creator项目创建

目录 认识Qt Creator Qt Creator概览 使用Qt Creator新建项目 选择项目模板 选择项目路径 选择构建系统 填写类信息设置界面 选择语言和翻译文件 选择Qt套件 选择版本控制系统 最终效果 认识Qt Creator Qt Creator概览 从开始菜单或者快捷方式打开Qt Creator集成开…...

windows11上,使用pipx安装Poetry,Poetry的安装路径是什么?

当使用 pipx 安装 Poetry 时&#xff0c;pipx 会将 Poetry 安装到一个独立的虚拟环境中&#xff0c;并将其可执行文件链接到一个集中的目录中。以下是 pipx 安装 Poetry 时的路径信息&#xff1a; 1. Poetry 的安装路径 pipx 会为每个工具&#xff08;如 Poetry&#xff09;创…...

详解状态模式

引言 水有固态、液态、气态三种状态&#xff0c;在不同条件下这三种状态可以相互转化。同样在软件设计中&#xff0c;有些对象也有不同的状态&#xff0c;不同状态的行为不同&#xff0c;状态模式就是用来处理这种情况的。 1.概念 状态模式(State Pattern)&#xff1a;允许一个…...

能否通过蓝牙建立TCP/IP连接来传输数据

前言&#xff1a; 最近在做一个项目时&#xff0c;产生了一个疑问&#xff1a;能否通过蓝牙建立TCP/IP连接来传输数据 查阅了一些文章&#xff0c;可以得出结论&#xff1a;不行 下面是我截取的两篇个人认可的文章的回答&#xff1a; 文章一&#xff1a; 蓝牙是一种短距离无…...

uniapp mqttjs 小程序开发

在UniApp中集成MQTT.js开发微信小程序时&#xff0c;需注意平台差异、协议兼容性及消息处理等问题。以下是关键步骤与注意事项的综合指南&#xff1a; 一、环境配置与依赖安装 安装MQTT.js 推荐使用兼容性较好的版本&#xff1a;mqtt4.1.0&#xff08;H5和小程序兼容性最佳&…...

爬虫工程师分享:获取京东商品详情SKU数据的技术难点与攻破方法

在电商数据领域&#xff0c;京东商品详情页的SKU数据是许多爬虫工程师的目标。这些数据包含了商品的价格、库存、规格等关键信息&#xff0c;对于市场分析、价格监控等应用场景至关重要。然而&#xff0c;获取这些数据并非易事&#xff0c;京东作为国内电商巨头&#xff0c;其反…...

数据库操作与数据管理——Rust 与 SQLite 的集成

第六章&#xff1a;数据库操作与数据管理 第一节&#xff1a;Rust 与 SQLite 的集成 在本节中&#xff0c;我们将深入探讨如何在 Rust 中使用 SQLite 数据库&#xff0c;涵盖从基本的 CRUD 操作到事务处理、数据模型的构建、性能优化以及安全性考虑等方面。SQLite 是一个轻量…...

LeetCode 0063.不同路径 II:动态规划 - 原地使用地图数组,几乎无额外空间开销

【LetMeFly】63.不同路径 II&#xff1a;动态规划 - 原地使用地图数组&#xff0c;几乎无额外空间开销 力扣题目链接&#xff1a;https://leetcode.cn/problems/unique-paths-ii/ 给定一个 m x n 的整数数组 grid。一个机器人初始位于 左上角&#xff08;即 grid[0][0]&#…...

elementui:el-table支持搜索、切换分页多选功能,以及数据回显

1、el-table相关代码&#xff0c;需注意:row-key"(row) > { return row.id }" 以及 :reserve-selection"true" <div class"boxList"><div class"search-form"><!-- 搜索表单 --><el-form :inline"true&q…...

深度整理总结MySQL——索引正确使用姿势

索引正确使用姿势 前言MySQL索引优缺点分析✅ 索引的优势⚠️ 索引的代价 如何合理建立索引?——关键原则总结重要的优化机制索引覆盖——通俗的方式讲解索引下推索引跳跃式扫描 前言 这篇文章是补充一些基本概念和实战的一些使用建议. MySQL索引优缺点分析 ✅ 索引的优势 …...

使用LLaMA Factory踩坑记录

前置条件&#xff1a;电脑显卡RTX 4080 问题&#xff1a;LLaMA-Factory在运行的时候&#xff0c;弹出未检测到CUDA的报错信息 结论&#xff1a;出现了以上的报错&#xff0c;主要可以归结于以下两个方面&#xff1a; 1、没有安装GPU版本的pytorch&#xff0c;下载的是CPU版本…...

亚博microros小车-原生ubuntu支持系列:25 二维码控制运动

二维码识别 安装依赖 pip3 install pyzbarsudo apt install libzbar-dev 在用小车识别之前&#xff0c;先用电脑的摄像头测试下基本的识别 import cv2 import rclpy from rclpy.node import Node import pyzbar.pyzbar as pyzbar import numpy as np from ament_index_pyth…...

基于深度学习的人工智能量化衰老模型构建与全流程应用研究

一、引言 1.1 研究背景与意义 1.1.1 人口老龄化现状与挑战 人口老龄化是当今全球面临的重要社会趋势之一,其发展态势迅猛且影响深远。根据联合国的相关数据,1980 年,全球 65 岁及以上人口数量仅为 2.6 亿,到 2021 年,这一数字已翻番,达到 7.61 亿,而预计到 2050 年,…...

【医院运营统计专题】2.运营统计:医院管理的“智慧大脑”

医院成本核算、绩效管理、运营统计、内部控制、管理会计专题索引 引言 在当今医疗行业快速发展的背景下,医院运营管理的科学性和有效性成为了决定医院竞争力和可持续发展能力的关键因素。运营统计作为医院管理的重要工具,通过对医院各类数据的收集、整理、分析和解读,为医…...

Spring Boot Actuator使用

说明&#xff1a;本文介绍Spring Boot Actuator的使用&#xff0c;关于Spring Boot Actuator介绍&#xff0c;下面这篇博客写得很好&#xff0c;珠玉在前&#xff0c;我就不多介绍了。 Spring Boot Actuator 简单使用 项目里引入下面这个依赖 <!--Spring Boot Actuator依…...

【AI应用】免费的文本转语音工具:微软 Edge TTS 和 开源版 ChatTTS 对比

【AI论文解读】【AI知识点】【AI小项目】【AI战略思考】【AI日记】【读书与思考】【AI应用】 我试用了下Edge TTS&#xff0c;感觉还不错&#xff0c;不过它不支持克隆声音&#xff08;比如自己的声音&#xff09; 微软 Edge TTS 和 开源版 ChatTTS 都是免费的 文本转语音&…...

如何在 Qt 中添加和使用系统托盘图标

在 Qt 中实现系统托盘图标是一个常见的需求&#xff0c;尤其是在桌面应用程序中。系统托盘图标可以让应用程序在后台运行时仍然具有可见性&#xff0c;同时避免占用过多的桌面空间。本文将详细介绍如何在 Qt 项目中添加托盘图标&#xff0c;并通过资源系统&#xff08;.qrc 文件…...

【WB 深度学习实验管理】利用 Hugging Face 实现高效的自然语言处理实验跟踪与可视化

本文使用到的 Jupyter Notebook 可在GitHub仓库002文件夹找到&#xff0c;别忘了给仓库点个小心心~~~ https://github.com/LFF8888/FF-Studio-Resources 在自然语言处理领域&#xff0c;使用Hugging Face的Transformers库进行模型训练已经成为主流。然而&#xff0c;随着模型复…...

基础入门-网站协议身份鉴权OAuth2安全Token令牌JWT值Authirization标头

知识点&#xff1a; 1、网站协议-http/https安全差异&#xff08;抓包&#xff09; 2、身份鉴权-HTTP头&OAuth2&JWT&Token 一、演示案例-网站协议-http&https-安全测试差异性 1、加密方式 HTTP&#xff1a;使用明文传输&#xff0c;数据在传输过程中可以被…...

C语言基础系列【3】VSCode使用

前面我们提到过VSCode有多么的好用&#xff0c;本文主要介绍如何使用VSCode编译运行C语言代码。 安装 首先去官网&#xff08;https://code.visualstudio.com/&#xff09;下载安装包&#xff0c;点击Download for Windows 获取安装包后&#xff0c;一路点击Next就可以。 配…...

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…...

iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘

美国西海岸的夏天&#xff0c;再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至&#xff0c;这不仅是开发者的盛宴&#xff0c;更是全球数亿苹果用户翘首以盼的科技春晚。今年&#xff0c;苹果依旧为我们带来了全家桶式的系统更新&#xff0c;包括 iOS 26、iPadOS 26…...

CTF show Web 红包题第六弹

提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框&#xff0c;很难让人不联想到SQL注入&#xff0c;但提示都说了不是SQL注入&#xff0c;所以就不往这方面想了 ​ 先查看一下网页源码&#xff0c;发现一段JavaScript代码&#xff0c;有一个关键类ctfs…...

【第二十一章 SDIO接口(SDIO)】

第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...

Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具

文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...

在四层代理中还原真实客户端ngx_stream_realip_module

一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡&#xff08;如 HAProxy、AWS NLB、阿里 SLB&#xff09;发起上游连接时&#xff0c;将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后&#xff0c;ngx_stream_realip_module 从中提取原始信息…...

C++.OpenGL (14/64)多光源(Multiple Lights)

多光源(Multiple Lights) 多光源渲染技术概览 #mermaid-svg-3L5e5gGn76TNh7Lq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3L5e5gGn76TNh7Lq .error-icon{fill:#552222;}#mermaid-svg-3L5e5gGn76TNh7Lq .erro…...

【JVM面试篇】高频八股汇总——类加载和类加载器

目录 1. 讲一下类加载过程&#xff1f; 2. Java创建对象的过程&#xff1f; 3. 对象的生命周期&#xff1f; 4. 类加载器有哪些&#xff1f; 5. 双亲委派模型的作用&#xff08;好处&#xff09;&#xff1f; 6. 讲一下类的加载和双亲委派原则&#xff1f; 7. 双亲委派模…...

[大语言模型]在个人电脑上部署ollama 并进行管理,最后配置AI程序开发助手.

ollama官网: 下载 https://ollama.com/ 安装 查看可以使用的模型 https://ollama.com/search 例如 https://ollama.com/library/deepseek-r1/tags # deepseek-r1:7bollama pull deepseek-r1:7b改token数量为409622 16384 ollama命令说明 ollama serve #&#xff1a…...

Golang——7、包与接口详解

包与接口详解 1、Golang包详解1.1、Golang中包的定义和介绍1.2、Golang包管理工具go mod1.3、Golang中自定义包1.4、Golang中使用第三包1.5、init函数 2、接口详解2.1、接口的定义2.2、空接口2.3、类型断言2.4、结构体值接收者和指针接收者实现接口的区别2.5、一个结构体实现多…...