QT基础知识

这篇具有很好参考价值的文章主要介绍了QT基础知识。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、Qt简介

  1. Qt是什么?

这门课的定位:

  • C++的实践课。
  • 系统性的认识图形用户界面编程。
  • 新的就业方向。

EWEQRRWER

Qt是一个基于C++的图形用户界面(GUI)开发框架。但是Qt不仅仅能开发界面,还包含了很多的传统编程技术:网络通信、文件IO、多线程、数据库、图像处理。。。。。。。等。

以下是Qt开发的具体产品:

QT基础知识,QT,QT,嵌入式,桌面开发QT基础知识,QT,QT,嵌入式,桌面开发QT基础知识,QT,QT,嵌入式,桌面开发QT基础知识,QT,QT,嵌入式,桌面开发

QT基础知识,QT,QT,嵌入式,桌面开发QT基础知识,QT,QT,嵌入式,桌面开发

QT基础知识,QT,QT,嵌入式,桌面开发QT基础知识,QT,QT,嵌入式,桌面开发

QT基础知识,QT,QT,嵌入式,桌面开发QT基础知识,QT,QT,嵌入式,桌面开发

QT基础知识,QT,QT,嵌入式,桌面开发

等等等、包括但是不限于以上场景。

Qt主要的优势优良的跨平台特性。(一次编程,到处编译)。比如:windows、Linux、Android、SunOS等等。

另外Qt也拥有一些常规的特性:

  • 面向对象开发(使用C++进行编程).
  • 丰富的API调用接口,配套了对应的开发文档。
  • 易用的开发软件。
  • 开源(学习资料多,源代码开放)

QT基础知识,QT,QT,嵌入式,桌面开发  欧路词典下载QT基础知识,QT,QT,嵌入式,桌面开发C++/Qt常用词汇

2、新建项目

本次Qt开发仍然使用C++课程中的Qt Creator,但是需要把软件的编码恢复到初始值。

QT基础知识,QT,QT,嵌入式,桌面开发QT基础知识,QT,QT,嵌入式,桌面开发

更改完成后, 就可以新建一个正常支持中文的Qt项目了。操作步骤如下:

  1. 在Qt Creator 中点击QT基础知识,QT,QT,嵌入式,桌面开发
  2. 在弹出的窗口中,按照下图所示进行操作。

QT基础知识,QT,QT,嵌入式,桌面开发

  1. 在弹出的窗口中,设置项目的名称和路径,注意不能包含中文字符,可以设置为默认的项目路径。

QT基础知识,QT,QT,嵌入式,桌面开发

  1. 直接点击下一步

QT基础知识,QT,QT,嵌入式,桌面开发

  1. 在弹出的窗口中,选择基类为”QDialog“,取消创建界面选项,然后点击”下一步”。

QT基础知识,QT,QT,嵌入式,桌面开发

6、在项目管理界面,直接点击完成,可以看到项目中包含的文件。

QT基础知识,QT,QT,嵌入式,桌面开发

7、点击QT基础知识,QT,QT,嵌入式,桌面开发可以编译并且运行项目,项目运行成功后可以看到一个可视化的窗口

QT基础知识,QT,QT,嵌入式,桌面开发

3、构建目录和工作目录(熟悉)

项目运行之后,存在两个重要的目录:构建目录和工作目录。

3.1 构建目录

存放在项目构建设置中有个路径,项目编译过程中生成的文件,

QT基础知识,QT,QT,嵌入式,桌面开发

如果新创建的项目,无法正常编译运行,在排查了各种问题之后,Qt项目仍然无法按照第2节的步骤正常运行,此时可以尝试取消上图中Shadow build 选择,此时项目目录和工作目录会合二为一。不建议正常用户这样做。

构建目录课程在最后一天会涉及,前期使用比较少。

3.2 工作目录

工作目录就是创建项目时设置的目录,用于存放项目的源代码等开发文件。

工作目录可以通过下面的方式定位:

QT基础知识,QT,QT,嵌入式,桌面开发

工作目录中包含以下文件:

QT基础知识,QT,QT,嵌入式,桌面开发

本门课程作业为工作目录打包,注意:打包之前要删除自己的用户文件

  1. 项目结构(掌握)

在windows的文件管理器中,直接双击.pro文件即可导入项目。

QT基础知识,QT,QT,嵌入式,桌面开发

#-------------------------------------------------
#
# Project created by QtCreator 2024-01-22T09:44:50
#
#-------------------------------------------------
# 添加core核心模块、gui传统图形界面模块
QT       += core gui

# 当前Qt主版本号大于4(当前为:5.4)时,添加新的图形界面模块widgets
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

# 生成的可执行exe的名称:day1_23111_qt_helloworld
TARGET = day1_23111_qt_helloworld
# 项目架构模式
TEMPLATE = app

# 项目中包含的源文件
SOURCES += main.cpp\
        dialog.cpp

# 项目中包含的头文件
HEADERS  += dialog.h

4.2 用户文件.user

用户文件在Qt Creator中不可见,但是确实存在于工作目录中(项目构建后)。

此文件是Qt根据当前计算机的开发环境自动生成的文件,每个计算机几乎不通用此文件。因此在提交代码时,先删除此文件。

4.3 主文件 main.cpp

程序的入口,包含主函数,通常不需要改动主文件代码。

#include "dialog.h"
// QApplication 类管理GUI应用程序的控制流和主设置
#include <QApplication>

// main主函数,程序的入口
int main(int argc, char *argv[])
{
    // 创建了一个管家栈对象,管理整个应用程序
    QApplication a(argc, argv);
    // 创建了一个自定义对话框窗口类的栈内存对象
    Dialog w;
    // 显示
    w.show();

    // 进入主时间循环
    return a.exec();
}

4.4 头文件dialog.h

在Qt中一个自定义的声明都写在.h中。这个类所用到的其他类头文件,也在此文件中引入。

#ifndef DIALOG_H
#define DIALOG_H

// 添加头文件QDialog对话框基类。Qt自带类型通常使用Q开头
#include <QDialog>

// 继承QDialog(对话框基类)
class Dialog : public QDialog
{
    // 先放着
    Q_OBJECT

public:
    Dialog(QWidget *parent = 0); // 构造函数
    ~Dialog();  // 析构函数
};

#endif // DIALOG_H

4.5 源文件dialog.cpp

包含与同名的头文件配套的类外定义。

#include "dialog.h"

// 构造函数定义
Dialog::Dialog(QWidget *parent)
    : QDialog(parent) // 透传构造。parent:参数
{
}

// 析构函数
Dialog::~Dialog()
{

}

5、帮助文档(掌握)

学习Qt一定要学习如何查询文档,通常对于不是很常用内存在编程开发时都是随用随查的。官方文档是第一手资料。

有三种查询文档的方式:

  1. 直接启动Assistant程序,是一个独立的文档程序。

QT基础知识,QT,QT,嵌入式,桌面开发

打开Assistant程序后,点击索引,在输入框中输入想要查询的内容即可。

QT基础知识,QT,QT,嵌入式,桌面开发

  1. 在Qt Creator中直接点击QT基础知识,QT,QT,嵌入式,桌面开发,可以打开一个内嵌的Assistant程序。

QT基础知识,QT,QT,嵌入式,桌面开发

3、光标定位到要查询的内容上,双击键盘F1,可以直接跳到对应的文件内容

QT基础知识,QT,QT,嵌入式,桌面开发

6、调试信息(掌握)

在C语言与C++中,无论是printf还是cout输出的内容都不区分前后台,但是Qt中输出内容分为前后台,通常前台指的是用户图形界面,用户可以直接通过软件界面看见。

如果想输出到后台,需要使用QDebug类的qDebug()函数输出调试信息,支持中文,整个使用方式与cout类似,但是有以下区别:

  • 连续输出时,自动添加空格。
  • 每次输出语句结束时,自动添加换行。

QT基础知识,QT,QT,嵌入式,桌面开发

QT基础知识,QT,QT,嵌入式,桌面开发

QT基础知识,QT,QT,嵌入式,桌面开发

QT基础知识,QT,QT,嵌入式,桌面开发

7、注意

当程序正在运行时,再次运行可能会出现下面的情况,只需要关闭当前正在运行的项目重新运行即可。

QT基础知识,QT,QT,嵌入式,桌面开发文章来源地址https://www.toymoban.com/news/detail-835323.html

到了这里,关于QT基础知识的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 嵌入式基础知识大杂烩

    u-boot(或称为Das U-Boot)是一种广泛应用于嵌入式系统的开源引导加载程序。它通常存放在嵌入式系统的非易失性存储器中,具体位置可以根据具体的嵌入式系统架构和设计来确定。 以下是几种常见的u-boot存放位置: 1. Flash存储器: 类似于 单片机 的情况,u-boot可以被烧写到

    2024年02月09日
    浏览(35)
  • 嵌入式系统入门基础知识分析(一)

      目录 ​编辑 一、什么是嵌入式 二、嵌入式系统的组成 三、实时系统 四、实时系统的调度 五、嵌入式微处理器体系结构 六、逻辑电路基础 七、总线电路及信号驱动 八、电平转换电路 九、嵌入式系统中信息表示与运算基础 十、差错控制编码 十一、嵌入式系统的度量项目

    2024年02月05日
    浏览(48)
  • 第二章 嵌入式系统硬件基础知识

    (1)信号特性 用 “ 逻辑真 ” “ 1 ” 或 “ 确定 ”来表示 高电平 用 “ 逻辑假 ” “ 0 ” 或 “ 不确定 ”来表示 低电平 1和0称为 互补信号 (2)信号转换 1、数字集成电路的分类         按照开关元件的不同,数字集成电路分为两大类:一类是 双极型集成电路

    2024年01月21日
    浏览(56)
  • 嵌入式学习笔记——STM32硬件基础知识

    上一篇中我们重点是讲了一下怎么搭建开发环境以及怎么下载烧录的过程,这都是解决的电脑端的开发环境问题,还没有到实际的开发板上,我们的单片机是都是焊接在开发板上的,PCB上有着它所需的工作电路。并不是直接给供电电压就可以让其工作的,本文主要是简介一下

    2024年01月22日
    浏览(50)
  • 嵌入式学习stm32基础知识(期末复习)

    1. 计算机的体系架构 冯诺依曼架构 ​ 在完整的计算机系统中,包含五个部分,储存器,运算器,控制器输入设备和输出设备。 改进的冯诺依曼架构 改进型架构的各模块的高速数据交换中心利用储存器这个大容量,极大的提高了效率。 哈佛架构 ​ 哈佛结构数据空间和地址

    2024年02月07日
    浏览(49)
  • 嵌入式-stm32重要基础知识(及踩过的坑)

    1、固件库: 固件库就是函数的集合,固件库函数的作用是向下负责与寄存器直接打交道, 向上提供用户函数调用的接口(API)。 2、CMSIS标准与固件库的关系 就是对固件库函数的要求。 ARM 公司为了能让不同的芯片公司生产的 Cortex-M3 芯片能在软件上基本兼容,和芯片生产商

    2024年02月04日
    浏览(42)
  • 嵌入式硬件基础知识汇总<附带与硬件密切相关的软件介绍>

    工作知识学习及总结系列文档 本文主要记录学习嵌入式软硬件编程过程中的一些硬件基础知识 嵌入式微控制器MCU ,又称单片机,一般以某微处理器内核为核心,芯片集成多种部件,功能和外设,如8051系列。其最大的特点是单片化,体积大大减小,功耗和成本下降,可靠性提

    2024年02月02日
    浏览(35)
  • 机械女生,双非本985硕,目前学了C 基础知识,转嵌入式还是java更好?

    作为单片机项目开发的卖课佬,个人建议,先转嵌入式单片机开发方向,哈哈。 java我也学过,还学过oracle、mysql数据库,只是当时没做笔记,找不好充分的装逼证据了。 从实习通过业余时间,学到快正式毕业,真的有种呕心沥血的感觉。 当时还是学生,脸皮比较薄,又不是

    2024年03月16日
    浏览(42)
  • 韦东山嵌入式Liunx入门驱动开发一(Hello 驱动编程、GPIO基础知识、LED驱动、总线设备驱动模型)

    本人学习完韦老师的视频,因此来复习巩固,写以笔记记之。 韦老师的课比较难,第一遍不知道在说什么,但是坚持看完一遍,再来复习,基本上就水到渠成了。 看完视频复习的同学观看最佳! 基于 IMX6ULL-PRO 参考视频 Linux快速入门到精通视频 参考资料 :01_嵌入式Linux应用

    2024年04月25日
    浏览(56)
  • 音视频开发:Qt在视频剪辑3D桌面软件获胜, 嵌入式不敌安卓

    1 Qt Android嵌入式应用层开发方向对比   大家都知道啊,做嵌入式linux设备,一些没有屏幕,比如安防摄像头,门铃之类的,另外一些嵌入式设备是有触控屏,在触控屏上还跑应用软件的,这种比如商场各种自动售卖机,铁路卖票,银行自助服务,车载系统等。 10年前,我大学

    2024年02月09日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包