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

【Qt】了解和HelloWorld

目录

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.kler.cn/a/450377.html

相关文章:

  • 【踩坑记录】C编程变量未初始化导致的程序异常
  • 使用 acme.sh 申请域名 SSL/TLS 证书完整指南
  • Linux -- 线程的优点、pthread 线程库
  • 题解 洛谷 Luogu P1135 奇怪的电梯 广度优先搜索 BFS C/C++
  • 矩阵:Input-Output Interpretation of Matrices (中英双语)
  • 272-1路万兆光纤SFP+和1路千兆网络 FMC子卡模块
  • 【每日学点鸿蒙知识】AVCodec、SmartPerf工具、web组件加载、监听键盘的显示隐藏、Asset Store Kit
  • Spring Web MVC:功能端点(Functional Endpoints)
  • Java AOP 介绍与实践
  • amazon广告授权
  • Django 模型管理器中自定义方法和添加导出功能
  • 聊聊volatile的实现原理?
  • conda 环境报错error while loading shared libraries: libpython3.9.so.1.0
  • 日志和MVCC的详解
  • JavaScript查缺补漏
  • Windows、CentOS环境下搭建自己的版本管理资料库:GitBlit
  • #渗透测试#漏洞挖掘#红蓝攻防#漏洞挖掘#未授权漏洞-Es未授权漏洞
  • 如何保障多个Facebook账号稳定运行:一账号一稳定IP?
  • Mac Android studio 升级LadyBug 版本,所产生的bug
  • 八股(One Day one)
  • 关于electron项目运行时,只编译渲染进程,不编译主进程问题
  • 前后端学习中本周遇到的内容
  • OpenHarmony怎么修改DPI密度值?RK3566鸿蒙开发板演示
  • 各种网站(学习资源及其他)
  • golang LeetCode 热题 100(动态规划)-更新中
  • Redis大Key问题全解析