qt基础入门教程

2023-05-16

1、t的介绍、优点、成功案例 5.8.0

Qt是一个跨平台的C++图形用户界面应用程序框架。它为应用程序开发者提供建立艺术级图形界面所需的所有功能。爸是完全面向对象的,很容易扩展,并且允许真正的组件编程。

推荐安装

wps linux 桌面环境 虚拟机软件 屏幕共享

QT名称中不支持中文命名和中午路径 不能添加空格

子父类的关系

qwidget 单纯窗口

QMainWindow 页面扩展菜单栏

QDialog 弹出对话框

项目文件

第一个qt程序 (main.cpp文件内的编写)

#include"mywidget.h"
#include <QApplication>//包含头文件应用程序
//程序入口argc命令行变量数量    argv命令行变量数组
5.int main(int argc,char*argv[])
//应用程序对象a,Qt中有且仅有一个应用程序对象
QApplication a(argc,argv);
//创建Mywidget对象w Mywidget基类
 Qwidget MyWidget w;
///窗口默认是不会弹出的,如果想弹出调用show方法

w.show();
//a.exec()进入消息循环机制 pause
 return a.exec();
//while(1)
//{
//if(点击叉子)
//{
//break;
//}//)
}

pro文件详解

Qr +=core gui//qt包含的模块
greater Than(QTIAJORVERSION,4):QT +=widsets//大于4版本包含widset横块
TARGET=01_Qt_First//目标。生成的.exe可执行文件的名称   后期可手动更改生成的文件

TRIPLATE=app//模板应用程序
SOURCES+=main.cpp//源文件
mywidget.cpp 

HEADERS +=mywidget.h I//头文件

头文件的解析

#ifndef MYWIDGET_H
#define MYWIDGET_H
#include <Qwidget>
class Mywidget:public Qwidget   //Mywidget继承Qwidget
{ Q_OBJECT//Q0BJEC宏写了这个宏就支持了Qt中的信号和槽机制

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

};
#endif//MYWIDGET_H

快捷键 以及命名规范

/类名首字母大写单词与单词之间首字母大写
函数、变量首字母小写单词与单词之间首字母大写
快捷键
运行ctrl+R
编译 ctrl+B
查找ctrl+F
帮助文档F1
字体缩放ctr1+鼠标滚轮
自动对齐 ctrl+i
整行移动ctr1+ shift+上键或者:
/同名之间的.h.cpp切换F4
帮助文档第一种:F1第二种:左侧按钮第三种: 在文件管理中找文档exe

ctrl +? 注释

检查是否有对应的类的头文件

查询文档基本信息

设置编码格式防止乱码问题

创建按钮

Mywidget::Mywidget(QWidget *parent)
  :QWidget(parent)//初始化列表  调用父类的构造函数
//按钮
QPushButton *btn =new QPushButton;
//btn->show();//show用顶层方式弹出,如果想在MyWidget窗口中显示,就需要依赖Mywidget窗口  设置父类
/∥设置父亲
btn->setParent(this);
//设置文字
btn->settext(“德玛西亚");  //将char*隐式类型转为Qstring

//创建按钮第二种方式窗口会按照 btn2大小进行显示
QPushButton *btn2=new QPushButton("第二按钮",this);
//重置窗口大小   这种会改变窗口大小 和按钮大小相同
resize(600,400);
//移动第二个按钮
btn2->move(100,100);
//按钮是否可以重置大小resize?可以
btn2->resize(50,50);
//重置窗口标题
setWindowTit1e(“Qt第一个窗口叶);          
}

qt一定程度减轻了内存回收机制

对象树 (所有用new生成的对象不用手动去进行释放)

程序运行完成后逐个释放

执行析构的时候,先去执行析构函数的操作,再释放掉内存

打印函数 qDebug()<<“打印内容”;

QT中的坐标系

QT中的信号和槽(重要)

sloct槽的引文单词

点击myBtn关闭窗口
// 信号的发送者 发送的信号参数 信号的接受者 处理的槽函数
//connect(myBtn,&MyButton::clicked,this,&Mywidget::close);

或者是父类的对象

松散耦合的优势

自定义的信号和槽

创建一个普通类,不用窗口,使用QObject类

自定义信号:

//自定义信号需要写到signals下
//返回类型必须void
//信号只需要声明 // //不需要实现 //信号可以有参数,可以重载 void hungFy();

自定义槽函数:

//自定义槽函数
//高版本可以写到public下或者全局函数
//槽函数返回值void
//槽函数需要声明也需要实现 可以有参数和重载 void treat();

emit()函数触发信号 出发函数才能发出信号 c++中的调用

老师饿了—》学生请老师吃饭

指针函数 返回的是指针 即地址 函数指针 用指针指向不同的函数 实现调用

QT4信号槽和信号的写法

//Qt4版本信号和槽写法

类型匹配不检测

7/不推荐Qt4版本信号槽写法,原因:类型匹配不检测//优点:

参数类型比较直观,发生重载也不用写函数指针 (直接将对应的参数变成了字符串处理)

connect(zt,SIGNAL(hungry(void)),st,SLoT(treat(&string)));

connect(zt,SIGNAL(hungry(void)),st,SLoT(treat(&string)));

信号:SIGNAL

槽 :sLoT下优点参数直观

不用写函数指针不会做类型检测。

Lambda 表达式

C++11中的Lambda表达式用于定义并创建匿名的函数对象,以简化编程工作。
首先看一下Lambda表达式的基本构成:

[](){}

[]内部=值传递推荐 &引用传递不推荐

()参数T
{}函数实现体
mutable 改变值传递的内部变量。
返回值[]()->type{}

Qwindow是一个为用户提供主窗口程序的类,合一个菜单(menu bar)、多个工具栏(toolbars)、多个缆越都件(dock widgets)、一个状态栏(status bar)
及一个中心部伴(central widget),是许多应用程序的基础,如文本编辆器,图片编辑器等。

菜单栏的创建

菜单栏
1.1只能有一个。
1.2 menuBar()返回一个QMenuBar"bar;
1.3将bar放入到窗口中setMenuBar(bar)
1.4添加菜单 addMenu(“文件”)
1.5添加菜单项addAction(“新建”
1.6分割线addSeparator()工具栏
2.1可以多个。
2.2QToolBar
2.3addToolBar(停靠位置,toolbar)
2.4设置停靠、浮动、移动。
2.5工具栏中可以添加菜单项
2.6也添加分割线

状态栏 核心部件

模态和非模态

点击新建弹出对话框

兼容设置

模态是不可以对其他按钮进行操作

创建指针是为了创建的到堆上不会被释放(但是存在内存溢出的风险)

创建属性,关闭时会销毁堆上的内存

系统默认对话框设置和自定义对话框

标准颜色对话框·
7.4.1QColorDialog
7.4.2 getColor 返回 QColor标准文件对话框。
7.5.1QFileDialog()
7.5.2getOpenfileName(父亲,标题,默认路径,过滤文件格式)

其他作用的对话框

设置ui界面

登陆界面
8.1利用Widget做容器,容器内部进行水平、垂直布局
8.2灵活运用弹簧。
8.3设置属性间隙默认99998.4垂直策略

常用控件

选择资源文件

radio button单选框

对话框
7.1模态对话框
7.1.1 exec() 阻塞
7.2非模态对话框。
7.2.1show在越上会一闪而过。
7.2.2所以new在堆区…
7.2.3设置属性dlg2-> setAtribute(Qt:WA.DeleteOnClosel;

系统标准对话框QMessageBox
7.3.1静态成员函数
7.3.2QMessageBox::警告、信息、错误、问题。
7.3.35个参数父亲、标题、提示内容、按健类型、关联回合按键

状态栏
3.1只能有一个
3.2 statusBar()返回 ostatus*sBar
3.3 addStatusBar(sBar)
3.4添加内容addWidget(Qlabel)
3.5添加右侧信息
铆接部件
4.1可以有多个
4.2QDockWidget
4.3 addDockWidget(停靠位置,….
4.4后期设置停靠

核心部件 ( 用set设定的只能有一个 而add可以有多个)

setCenteralWidget()

资源文件

6.1将使用的图片资源放入到项目中6.2右键项目-添加新文件-Qt-ResourceFile
6.3起名称res生成res.qrc
6.4右键res.qrc open in editor
6.5添加前缀添加文件。
6.6使用:+前缀名+文件名

常用控件

按钮组
9.1.1 PushButton 按钮
9.1.2 ToolButton 工具按钮多用于显示图片,ToolButtonstyle修改风格 autoRaise透明风格
9.1.3 RadioButton.单选 setChecked(ture)
9.1.4 CheckBox 多选statechange独特的信号0未选中1半选

复选框

通过对象或者匿名对象的方法

listWidget 控件。
9.2.1 QListWidgettem 每一个项目
9.2.2 item可以设置对齐方式
9.2.3 item->set TextAlignment(Ot:AlignHCenter);…
9.2.4一次性的将所有内容添加
9.2.5 addltems(QStringList)

tree控件

QTreeWidget控件使用
9.3.1设置头setHeaderlabels(QStringlist()<<“英雄”…)
9.3.2每个项目QTreeWidgetitem
9.3.3添加顶层项目 addTopleaveltem
9.3.4添加子项目addChil

自定义控件

自定义控件封装
1.1创建Qr-设计师界面类,
1.2拖拽Widget 右键提升为-类名写入-全局包含-添加-提升。
1.3QSpinBox 移动Slider 跟着移动。
1.4对外接口 封装一些函数

鼠标事件

鼠标事件
2.1鼠标进入enterEvent2.2鼠标离开leaveEvent
2.3鼠标按下、释放、移动。
2.3.1通过ev获取到xy
2.3.2 ev判断鼠标左右键2.3.3 QString格式化字符串%1%2a

定时器

定时器使用
3.1 timerEvent 事件。
3.2启动定时器 startTimer(毫)返回值就是ld号
3.3区分定时器timerld-T

第二中定时器的方法

事件的分发

事件过滤器

事件过滤器
6.1哪个控件需求过滤事件就给哪个控件安装过滤器
6.2步骤1安装过滤器
6.3 ui->label->installEventFilter(this);
6.4步骤26.4.1重写事件

绘图工具

7.1绘图事件 paintEvent
7.2 QPainter painter(绘图设备 this)
7.3 draw…线圆矩形文字
7.4 QPen 设置笔宽度样式}
7.5QBrush 设置画刷样式

8.1抗锯齿
8.1.1 painter.setRenderHint(QPainter::Antialiasing);
8.2画家移动
8.2.1 painter.translate(QPoint(100,0));
8.3画家状态

save() 保存状态保存位置 restore() 归位

点击按钮 图片滑动

手动调用绘图事件
9.1 update
9.2画家可以画图片
9.3 drawPixmap(x,y “dizhi ”)

绘图设备保存到磁盘上

文件操作

11.1 QFile file(路径)
11.2fle.open 打开方式QloDevice::ReadOnly
11.3 fle.readAll readline(file.atEnd 判断是否到文件尾
11.4写QlODevice::WriteOnly
11.5 file.write(“…”)

小结:

4.Pro文件。
4.1QT+=所属模块widget4版本以上 4.2 TARGET 生成exe 程序名称。
4.3TEMPLATE app 应用程序模板。
4.4 SOURCE HEADER 源文件头文件。
5Main函数
5.1QApplication a应用程序对象有且仅有一个。
5.2a.exec()进行消息循环阻塞。
5.3 MyWidgetw窗口对象。
5.4默认不会弹出窗口想要显示窗口需要调用show.
6QPushButton
6.1 QPushButton"btn =new QPushButton;
6.2btn->setParent(this)设置父亲。
6.3 btn->setText(“aaa”)
6.4 btn->move(xy)
6.5重置窗口大小 resize(wh)
7.1所有new出来的对象不用管释放。
7.2原因children表中的对象会在窗口关闭后进行自动释放8t中的坐标系8.1x正向→
8.2y正向
9Qt中的信号和措
9.1需求点击按钮关闭窗口。
9.2 connect(信号发送者,发送的信号,信号接受者,处理槽函数)
9.3优点松散耦合。
10t中的自定义信号和撞
10.1自定义信号
10.1.1返回值void
10.1.2需要声明个需要实现。
10.13可以有参数。
10.2自定义槽函数。
10.2.1返回值 void
10.2.2需要声明需要实现。
10.2.3可以有参数。
10.3触发自定义的信号
10.3.1 emit 实现触发调用
10.4当自定义信号和撞出现重载时候,原先写法失效,因为执行的函数地址不明确 10.5解决方法:利用函数指针来明确指向哪个函数的地址。
10.6 QString 转 char*toutf8 转 QBtyeArray 类型在利用 data 转成 char* 否则输出有引号

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

qt基础入门教程 的相关文章

  • 新建Mavlink消息

    1 下载Mavlink生成器 1 1 Git clone 需要在翻墙的网络环境下下载 span class token function git span clone https github com mavlink mavlink git
  • Python从入门到精通11天(lambda匿名函数和map函数的使用)

    lambda匿名函数和map函数的使用 lambda匿名函数map函数lambda与map的联用 lambda匿名函数 匿名函数在计算机编程中是指一类无需定义标识符 xff08 函数名 xff09 的函数或子程序 xff0c lambda函
  • STM32F407单片机移植ADS1115驱动程序

    最近一个工程项目需要使用ADS1115采集电压 xff0c 网上研究了一下 xff0c 测试成功 xff0c 期间走了很多弯路 xff0c 为避免后来的研究者重走我的老路 xff0c 特分享给大家 注 xff1a 网上很多ADS1115驱动
  • Python入门到精通12天(迭代器与生成器)

    迭代器与生成器 迭代器生成器 迭代器 迭代器是可迭代的对象 xff0c 即可以进行遍历的对象 列表 字符串 元组 字典和集合这些都是可迭代的对象 xff0c 都可以进行遍历 迭代器是一种访问序列元素的方式 xff0c 它可以通过next 函
  • C语言从入门到精通第8天(分支结构if、else、switch的使用)

    分支结构if else switch的使用 if语句if else语句if else嵌套if else if else语句switch语句 if语句 语法 xff1a if 表达式 语句 xff1b 如果表达式为真 xff0c 则执行 里面
  • Python入门到精通13天(global和nonlocal关键字的使用)

    global和nonlocal关键字的使用 作用域global关键字的使用nonlocal关键字的使用 作用域 在Python中变量的作用域由其代码块决定 xff0c 在代码块中定义的的变量和函数属于局部作用域 xff1b 在函数中定义的变
  • Python从入门到精通14天(eval、literal_eval、exec函数的使用)

    eval literal eval exec函数的使用 eval函数literal eval函数exec函数三者的区别 eval函数 eval 是Python中的内置函数 xff0c 它可以将一个字符串作为参数 xff0c 并将该字符串作为
  • Python从入门到精通15天(浅拷贝和深拷贝)

    浅拷贝和深拷贝 深浅拷贝概述浅拷贝深拷贝 深浅拷贝概述 在Python中 xff0c 对象是通过引用传递的 xff0c 这意味如果创建了一个对象 xff0c 然后将其赋值给另一个变量 xff0c 那么两个变量将引用同一个对象 xff0c 即
  • C语言从入门到精通第9天(循环结构的使用)

    循环结构的使用 while语句do while语句for语句嵌套循环 循环结构可以重复的执行一段代码块 xff0c 在C语言中提供了三种不同类型的循环结构 xff1a for while和do while while语句 语法 xff1a
  • C语言从入门到精通第10天(break和continue的使用)

    break和continue的使用 break语句continue语句 break和continue是两种控制流程的语句 xff0c 他们只能在循环中被使用 xff0c 用于控制循环的执行 如果在非循环中被使用了则会导致语法的错误 brea
  • C语言从入门到精通第11天(数组的基本操作)

    数组的基本操作 数组的概念一维数组二维数组 数组的概念 在程序设计中 xff0c 为了方便处理数据把具有相同类型的若干变量按有序形式集合在一起 xff0c 这些按序排列的同类数据元素的集合称为数组 在C语言中 xff0c 数组属于构造数据类
  • C语言从入门到精通第12天(函数的定义)

    函数的定义 函数的概念函数的定义函数的参数函数的返回值 函数的概念 在程序设计中 xff0c 为了实现某个功能需要编写多行代码 xff0c 我们每次在使用时都将原来的代码重复编码 xff0c 这样就非常的麻烦 xff0c 而且编程的效率也不
  • C语言从入门到精通第13天(函数的调用)

    函数的调用 无参函数的调用有参函数的调用函数的嵌套调用递归函数的调用函数的声明 函数在定义完以后 xff0c 如果不被调用时不会被执行到的 xff1b 在程序中main函数是主函数 xff0c 是会被自动调用 xff0c C程序有且只有一个
  • 项目实战-外卖自提柜 2. CubeMX + FreeRTOS入门

    项目实战 外卖自提柜 1 项目介绍 协议制定 项目实战 外卖自提柜 2 CubeMX 43 FreeRTOS入门 项目实战 外卖自提柜 3 FreeRTOS主要API的应用 项目实战 外卖自提柜 4 FreeRTOS 堆栈分配 调试技巧 项
  • C语言从入门到精通第14天(局部变量和全局变量)

    局部变量和全局变量 局部变量全局变量 局部变量 简单来说 xff0c 在C语言中的局部变量就是定义在 中的变量 xff0c 他的作用域也在 内 xff0c 他的生命周期随着 结束而结束 例如 xff1a span class token k
  • C语言从入门到精通第15天(C语言预处理)

    C语言预处理 预处理概述宏定义条件编译 预处理概述 在前面我们已经对C语言的基础语法知识有所了解了 xff0c 每次进行程序的编写之前 xff0c 我们会使用 include命令去导入我们的库函数 xff0c 而这种以 号开头的命令称为预处
  • C语言从入门到精通第16天(指针的定义与基本使用)

    指针的定义与基本使用 什么是指针 xff1f 指针变量的定义指针变量的基本使用 什么是指针 xff1f 在使用指针之前我们需要对指针进行初步的了解 xff0c 首先我们要知道什么是指针 xff1f 通过前面的学习我们已经知道了内存的存储方式
  • 作为一个大学生你应该知道的事情

    作为一个大学生你应该知道的事情 大学生毕业去向 今天 xff0c 我们不写技术 xff0c 来谈一谈大学生的毕业现状 xff1a 以下内容为本人的一些观点和看法 xff0c 仅限于沟通交流 大学生毕业去向 大学生的毕业去向大致可以分为 xf
  • C语言从入门到精通第17天(指针和数组联用)

    指针和数组联用 不同类型指针变量之间的区别数组的指针指针数组 不同类型指针变量之间的区别 在了解数组和指针联用之前 xff0c 我们先对指针变量进行补充 我们对比一下int p1和char p2的区别 xff1f 相同点 xff1a 都是指
  • 使用 Keil uVision 和 STM32CubeMX 对 STM32F103C8 进行编程

    采用ARM Cortex M架构的STM32微控制器因其特性 成本和性能而在许多应用中得到广泛应用 在之前的教程中 xff0c 我们已经使用Arduino IDE编程了STM32F103C8 使用Arduino IDE编程STM32很简单

随机推荐

  • 适用于 STM32F103C8 的 FreeRTOS,STM32的多任务同时进行

    概述 xff1a 适用于 STM32F103C8 的 FreeRTOS STM32F103C 是一款ARM Cortex M3 处理器 我们可以在 Arduino IDE 中使用适用于 STM32F103C8 的 FreeRTOS 我们也可
  • PLC为什么会被上位机取代

    随着我们进入高速发展的轨道 xff0c 许多工厂都已经完成了自动化流水线生产的打造 我们可以看到很多大厂已经搭建了智能生产线 所以越来越多的plc工程师开始感觉到 xff0c 只会传统的plc控制 xff0c 已经无法满足公司的企业发展业务
  • 【Vue2】生命周期——钩子函数

    钩子函数 xff1a 在一个Vue实例从创建到销毁的过程自动执行的函数 1 分析生命周期 1 xff09 初始化阶段 xff1a beforeCreate xff08 xff09 生命周期中第一个函数 xff0c 在该函数执行时Vue实例仅
  • 计算机考研全年规划

    此文转载的 xff0c 作为参考 文章目录 一 关于考研常识二 择校择专业 xff08 一 xff09 为什么要考研 xff08 二 xff09 怎么样才能考上研究生 xff08 三 xff09 如何择校选专业1 学硕和专硕该如何选择 xf
  • c#串口编程(傻瓜教程,手把手教你学会)

    在单片机项目开发中 xff0c 上位机也是一个很重要的部分 xff0c 主要用于数据显示 xff08 波形 温度等 xff09 用户控制 xff08 LED xff0c 继电器等 xff09 xff0c 下位机 xff08 单片机 xff0
  • CMakeLists.txt编写规则

    一 基本语法 语法格式 指令 参数1 参数2 1 参数间用空格或分号隔开 2 指令大小写无关 参数和变量大小写相关 3 变量用 方式取值 但在if语句中直接用变量名 二 重要指令 1 cmake minimum required 指定CMa
  • [stm32] Start Tour-一些元件的连接

    如果觉得有帮助的话就点个赞吧 持续更新 目录 一 蜂鸣器 注意点 xff1a 二 独立按键 一 蜂鸣器 根据原理图连的实物图如右 xff1a 注意点 xff1a 1 xff09 蜂鸣器分正负极 2 xff09 VCC和GND是32板的总电源
  • ROS中Gazebo无响应解决办法

    标题ROS中Gazebo无响应解决办法 在终端输入gazebo没有反映 xff0c 进行下面两句操作 首先输入下面的代码 gazebo verbose 观察到报错显示原因为有另一个gazebo进程于是杀死这个进程则问题解决代码如下 xff1
  • 别害羞,开源社区真的很需要你,教你如何参与开源社区~

    前言 相信各位开发者多多少少会在实际开发的过程中会使用一些开源的技术 xff0c 例如前端的 vue react 以及大量的第三方库如 echart xff0c color js day js 等等 xff0c 后端就更多了 xff0c 从
  • VBox 快照备份虚拟机

    目录 虚拟机快照概念 什么是虚拟机快照 VBox 快照备份恢复 FreeBSD 系统 拍摄 Snapshots 快照 拍摄快照示例 恢复快照 虚拟机快照概念 什么是虚拟机快照 简单来说 xff0c 就是将你当前状态的虚拟机复制保存一份镜像
  • [Linux 调试 Android]-Linux 命令行调试 Android 设备

    目录 Slackware 15 0 下调试安卓 4 4 2 系统环境配置 获取 linux 版本的 adb 程序 将 ADB 程序安装到 Linux 系统上 配置 adb 环境变量 在 Linux 系统上 adb 调试安卓系统 Slackw
  • docker 容器如何查看正在运行容器的端口映射

    1 查看docker容器的版本 root 64 opt docker version Docker version 19 03 5 build 633a0ea 2 查看正在运行的容器 root 64 opt docker ps CONTAI
  • docker退出关闭容器

    可以使用 docker stop 来终止一个运行中的容器 此外 xff0c 当Docker容器中指定的应用终结时 xff0c 容器也自动终止 例如对于上一章节中只启动了一个终端的容器 xff0c 用户通过 exit 命令或 Ctrl 43
  • STM32收入高也好找工作,所以我学嵌入式linux终究是错付了吗

    STM32收入高也好找工作 xff0c 所以我学嵌入式linux终究是错付了吗 经常有同学纠结问我 xff1a 我到底是学STM32还是学嵌入式linux 这个问题很多人都会有自己的看法 xff0c 今天我试着从多个角度 xff0c 把了解
  • Java面试基础篇

    Java面试基础篇 基础总结 博客链接导航 Java语言基础常识 https blog csdn net article details 88531257 J2EE基础知识 https blog csdn net article detai
  • 项目实战-外卖自提柜 3. FreeRTOS主要API的应用

    项目实战 外卖自提柜 1 项目介绍 协议制定 项目实战 外卖自提柜 2 CubeMX 43 FreeRTOS入门 项目实战 外卖自提柜 3 FreeRTOS主要API的应用 项目实战 外卖自提柜 4 FreeRTOS 堆栈分配 调试技巧 项
  • [Spring] IntelliJ IDEA 新建工程时没有Spring选项的解决方法

    Spring IntelliJ IDEA 新建工程时没有Spring选项的解决方法 专业版 xff08 ultimate xff09 社区版 xff08 community xff09 刚开始学习Java Spring框架 xff0c 也是
  • MySQL下载与安装教程(超详细)

    一 MySQL下载 下载地址 xff1a https dev mysql com downloads mysql 根据自己需要下载对应的版本 xff0c 我下载的是mysql 5 7 31 二 MySQL安装教程 1 解压安装包 下载后得到
  • docker 开发编译环境搭建

    参与docker开源社区 xff0c 成为docker项目的contributor xff0c 首先要搭建docker的开发编译环境 xff0c 下面是docker官网介绍的编译环境的搭建 xff0c 这里做个笔记 docker的编译环境准
  • qt基础入门教程

    1 t的介绍 优点 成功案例 5 8 0 Qt是一个跨平台的C 43 43 图形用户界面应用程序框架 它为应用程序开发者提供建立艺术级图形界面所需的所有功能 爸是完全面向对象的 xff0c 很容易扩展 xff0c 并且允许真正的组件编程 推