【Qt】了解和HelloWorld

server/2024/12/26 21:12:40/

目录

0.用户交互界面风格

Windows下GUI开发方案?

1.Qt简介

1.1 版本Qt5.

1.2搭建Qt开发环境

需要安装3个工具

安装过程

熟悉QtSDK重要工具

2.使用Qt Creator创建项目

2.1代码解释

2.2helloworld

1.图形化方式

2.代码方式


0.用户交互界面风格

1.TUI:命令行界面/终端界面

2.GUI:图形化界面

Windows下GUI开发方案?

1.Windows API:windows系统提供原生API

2.MFC 、VC6.0:为图形化界面开发 提供面向对象的方式、拖拽组件简单开发。

3.QT

以上都是基于C/C++的GUI开发技术。

微软开发新的编程语言C#(C sharp)

4.Windows Forms:为C#(.net)设计的GUI开发技术。

5.WPF、UWP:对Windows Form的升级,支持更高版本Windows系统、跨平台,支持多种 Windows 设备(PC、手机、Xbox 等)。

6.Electron:基于HTML的网页,打包成一个Windows上运行的程序。

1.Qt简介

QT是一个跨平台的C++图形化界面应用程序开发框架。常应用于PC端桌面应用开发。

特点:面向对象,易于拓展,提供基于组件的开发模式,可以通过简单的拖拽和组合来实现复杂的应用程序,同时也可以使用C++语言进行高级开发。

优势:

1.跨平台,支持Windows、Linux、Mac系统、嵌入式系统。

2.一定程度简化内存回收机制(半自动的垃圾回收机制、尽可能不影响程序的运行效率)

3.可以进行嵌入式开发

1.1 版本Qt5.

1.2搭建Qt开发环境

需要安装3个工具

1.c++编译器(gcc、g++、cl.exe)

2.Qt SDK

SDK:软件开发工具包

win版本的Qt SDK已经内置C++编译器为mingw,实际上就是win版本的gcc/g++。

想使用VS内置的cl.exe编译器,需要配置额外的东西。

3.Qt集成开发环境(IDE)

1)Qt官方提供的Qt Creator:简单易上手,不需额外配置

2)Vistual Studio:功能更强,但需要额外配置、安装Qt插件、可能需要重新编译一遍QtSADK。

3)Eclipse

安装过程

1.下载QtSDK

选择组件:

2.添加环境变量:

熟悉QtSDK重要工具

C:\Qt\Qt5.14.2\5.14.2\mingw73_64\bin

1.Qt说明文档:自带的官方英文文档

2.Qt设计师:拖拽组件方式实现界面设计的工具,会集成到qtcreator。

3.Qt语言家:界面语言支持切换。允许创建语言配置文件,提前将界面上需要的各种语言配置到文件中,可以起到一键切换语言的效果。

C:\Qt\Qt5.14.2\Tools\QtCreator\bin

4.Qt集成开发环境

2.使用Qt Creator创建项目

1.创建项目

2.选择模板:App应用程序-》Qt Widgets App:GUI程序

3.选择项目保存路径

4.选择项目构建工具-》qmake

Qt写的程序涉及“元编程”技术,通过代码生成代码。

Qt框架会在编译阶段,调用一系列的生成工具,基于用户代码,生成一些列新的C++代码。

qmake:qt专属构建工具

camke:经常用的,并非qt专属

5.

base class:项目自动生成代码包含一个类,选择自动生成的类的父类。

选项:

QMainWindow:完整的应用程序窗口(包含菜单栏、工具栏、状态栏...)

QWidget:表示一个控件

Qdialog:表示一个对话框

自动生的类MainWindow继承自QMainWindow。

勾选generate form ,使用QtDesigner以图像化方式快速生成界面。

6.选择翻译文件:暂时不关注,和linguist有关

7.编译器选择

8.

目录:.pro工程文件,Headers 头文件目录,Sources 源文件目录,Forms UI界面文件目录。

绿色三角编译运行。

2.1代码解释

main.cpp

widget.h

whidget.cpp

widget.ui

xml格式,xml标签含义由程序员定义,ui文件本质是一个xml文件。

通过xml文件描述界面,QtCreator会调用相关工具,依据xml文件生成代码。


双击widget.ui,进入QtDesigner。

.pro

qt项目工程文件,qmake工具构建项目的依据。类似Makefile文件。规定如何编译、清除。

qmake和.pro文件起到的作用和makefile是类似的。

中间文件

.h,.cpp,.ui,pro都是源代码,qt项目编译的过程中,还会生成一些中间文件。

编译运行程序后,项目目录的同级目录会新增一个build-XXX目录,包含编译过程中生成的临时文件。

编译过程中,使用到makefile是qmake自动生成的。

ui_widget.h是依据.ui文件生成的.h文件。

是.cpp文件引入的头文件。

内容:

 是.h文件声明的Ui::widget类型的具体实现。

2.2helloworld

方式

1.图形化方式,创建控件,显示字符串

2.代码方式,创建控件,显示字符串

1.图形化方式

使用label控件。

ui文件下,自动增加标签。

2.代码方式

#include "widget.h"
#include "ui_widget.h"
#include <QLabel>//使用lable需包含的头文件Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);//在堆空间创建label对象,也可以在栈上//建议new,原因是给label对象指定一个父对象,对象树机制QLabel* label=new QLabel(this);label->setText("Hello World");//设置控件中显示的文本
}Widget::~Widget()
{delete ui;
}

Qstring类型,和c++的string类型无关。

Qstring、Qvector、Qlist、QMap,都是Qt自己实现的容器类。因为Qt时期c++标准还未成型。

所以现在开发Qt程序,可以使用Qt的容器,也可以用语言标准库的容器。

但Qt原生接口,使用的都是Qt容器。所以经常会使用到,且std::string 和 Qstring可以方便的转换。


http://www.ppmy.cn/server/153431.html

相关文章

Android 系统 `bootable/recovery` 目录下 `miniui` 框架深度分析

Android 系统 bootable/recovery 目录下 miniui 框架深度分析 引言 在Android系统中,bootable/recovery目录是负责系统恢复和OTA(Over-The-Air)更新的核心部分。miniui框架是该目录下的一个重要组件,它为Android设备提供了一个轻量级的用户界面,用于在恢复模式下与用户进…

08 Django - Django媒体文件静态文件文件上传

九、Django媒体文件&静态文件&文件上传 1.静态文件和媒体文件 媒体文件: 用户上传的文件, 叫做media静态文件: 存放在服务器的 css, js, image等,叫做static 在Django中使用静态文件 {% static img/example.jpg %} > static模板关键字就是在settings.py中指定的…

嵌入式学习-QT-Day07

嵌入式学习-QT-Day07 七、文件IO 1、QFileDialog文件对话框 2、QFileInfo文件信息类 3、QFile文件读写类&#xff08;重点&#xff09; 4、UI与耗时操作 5、QThread线程类 5.1 复现程序未响应 5.2 创建并启动一个子线程 5.3 异步刷新 5.4 线程停止 6、数据持久化 七、文件IO 1、…

GitLab的安装和使用

1.GitLab 环境说明 系统版本 CentOS 7.2 x86_64 软件版本 gitlab-ce-10.8.4 GitLab 是一个用于仓库管理系统的开源项目&#xff0c;使用Git作为代码管理工具&#xff0c;并在此基础上搭建起来的web服务。可通过Web界面进行访问公开的或者私人项目。它拥有与Github类似的功能…

Jmeter录制https请求

jmeter 5.5版本&#xff0c;chrome浏览器 1、首先添加Test Plan-Thread Group-HTTP(S) Test Script Recorder 2、设置HTTP(S) Test Script Recorder界面的Port&#xff08;监听端口&#xff0c;设置浏览器代理时需要与这里保持一致&#xff09;、HTPS Domains&#xff08;录制…

【华为OD-E卷-取出尽量少的球 100分(python、java、c++、js、c)】

【华为OD-E卷-取出尽量少的球 200分&#xff08;python、java、c、js、c&#xff09;】 题目 某部门开展 Family Day 开放日活动&#xff0c;其中有个从桶里取球的游戏&#xff0c;游戏规则如下&#xff1a; 有 N 个容量一样的小桶等距排开&#xff0c;且每个小桶都默认装了数…

小程序租赁系统开发指南与实现策略

内容概要 在如今这个快节奏的时代&#xff0c;小程序租赁系统的开发正逐渐成为许多商家提升服务质量与效率的重要选择。在设计这样一个系统时&#xff0c;首先要明白它的核心目标&#xff1a;便捷、安全。用户希望在最短的时间内找到需要的物品&#xff0c;而商家则希望通过这…

使用Excel制作通达信自定义外部数据,安排!!!

Excel相信大家电脑上都有这个工具&#xff0c;相比敲编程代码&#xff0c;用这个去做自定义数据对大多数人&#xff0c;应该是比较友好的。自定义数据分为外部序列数据&#xff0c;看了一下内容理解起来比较多&#xff0c;分两期给大家介绍。为了照顾电脑基础薄弱的朋友&#x…