![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
qt creator学习笔记
文章平均质量分 78
今天也要努力搬砖
大龄程序员出路在哪里
展开
-
我的QT Creator学习笔记(三十六)——进程和线程
参考文献:《Qt Creator 快速入门》第三版 霍亚飞编著一、进程1.1 进程相关类、接口、信号等在当前的应用程序中可以调用外部的程序来实现一些功能,这就会使用到进程。Qt的QProcess类用来启动一个外部程序(进程)并与其进行通信。 要启动一个进程可以使用QProcess::start()函数,将程序名称和运行这个程序所要使用的命令行参数作为该函数的参数。 执行完start()函数后QProcess进入Starting状态,当程序已经...原创 2021-06-26 16:27:50 · 880 阅读 · 0 评论 -
我的QT Creator学习笔记(三十五)——网络编程之UDP与TCP
参考文献:《Qt Creator 快速入门》第三版 霍亚飞编著1、UDPUDP(User Datagram Protocol,用户数据报协议)是一个轻量级的、不可靠的、面向数据报的、误连接的协议,用于可靠性不是非常重要的情况。UDP一般分为发送端和接收端。QUdpSocket类用来发送和就收UDP数据报,继承自QAbstractSocket。这里的socket就是所谓的“套接字”,简单来说“套接字”就是一个IP地址加一个port端口号。1.1UDP编程示例下面是一个UDP编程示例..原创 2021-06-14 19:50:39 · 918 阅读 · 4 评论 -
我的QT Creator学习笔记(三十四)——网络编程之HTTP与FTP
Qt中的Qt Network 模块用来编写基于TCP/IP的网络程序,其中提供了较低层次的类,比如QTcpSocket、QTcpServer和QUdpSocket等,来表示低层次的网络概念;还有高层次的类,比如QNetworkRequest、QNetworkReply和QNetworkAccessManager,使用通用的协议类来执行网络操作;...原创 2021-06-13 13:46:40 · 603 阅读 · 0 评论 -
我的QT Creator学习笔记(三十三)——Qt中连接与使用数据库
我的QT Creator学习笔记(三十三)——Qt中连接与使用数据库原创 2021-04-10 20:44:29 · 1056 阅读 · 0 评论 -
我的QT Creator学习笔记(三十二)——模型/视图编程之委托类
我的QT Creator学习笔记(三十)——模型/视图编程之委托类原创 2021-04-03 12:48:05 · 244 阅读 · 0 评论 -
我的QT Creator学习笔记(三十一)——模型/视图编程之视图类
我的QT Creator学习笔记(三十)——模型/视图编程之视图类原创 2021-03-28 18:39:32 · 392 阅读 · 1 评论 -
我的QT Creator学习笔记(三十)——模型/视图编程之模型类
Qt中的模型/视图架构就是用来实现大量数据的存储、处理及其显示的。模型/视图架构MVC(Model-View-Controller)是一种起源于Smalltalk的设计模式,经常用于创建用户界面。MVC包含了3个组件:模型(Model)是应用对象,用来表示数据;视图(View)是模型的用户界面,用来显示数据;控制(controller)定义了用户界面对用户输入的反应。模型/视图框架中的众多类可以分为3组:模型、视图和委托,它们之间使用信号和槽来实现通信:》当数据源的数据发生改变时,模型发出信原创 2021-03-27 22:03:57 · 368 阅读 · 0 评论 -
我的QT Creator学习笔记(二十九)——音频录制
可以使用QAudioRecorder类的audioInputs()来获取所有可用的音频输入设备名称,原创 2021-03-14 20:56:21 · 486 阅读 · 0 评论 -
我的QT Creator学习笔记(二十八)——使用Qt操作相机
一、使用到的类:1、QCameraInfo:用来查询系统当前可用的相机设备,其常用函数及其功能如下图2、QCamera:该类提供了操作相机设备的诸多接口,常用接口如下图 3、QCameraImageCapture:这是一个图像录制类,与QCamera配合可以进行拍照。使用capture()可以捕获图片并保存的文件,setEncodingSettings可以进行图像编码设置。4、QMediaRecorder类用来记录媒体内容,与QCamera一起使用可以进行视频录制。通过.原创 2021-03-14 17:55:03 · 1694 阅读 · 1 评论 -
我的QT Creator学习笔记(二十七)——播放视频
我的QT Creator学习笔记(二十六)——播放视频原创 2021-03-07 15:52:20 · 593 阅读 · 1 评论 -
我的QT Creator学习笔记(二十六)——播放音频QMediaPlayer和QSoundEffect
3D绘图效果没出来我的QT Creator学习笔记(二十五)——播放音频原创 2021-03-05 19:00:47 · 2469 阅读 · 1 评论 -
我的QT Creator学习笔记(二十五)——使用QOpenGL绘制图形
Qt Widgets模块中的QOpenGLWidget类提供了一个可以渲染OpenGL图形的部件,通过该部件可以轻松地将OpenGL图形整合到Qt应用程序中。OPenGLWidget类提供了3个方便的虚函数,可以在子类中重新实现它们来执行典型的OpenGL任务。initializeGL():设置OpenGL资源和状态。该函数只在第一次调用resizeGL()或paintGL()前被调用一次。 resizeGL():设置OpenGL的视口、投影等。每次改变大小时都会调用该函数。 paintGL(...原创 2021-02-17 17:42:24 · 1463 阅读 · 0 评论 -
我的QT Creator学习笔记(二十四)——使用动画框架实现动画
The Animation Framework动画框架的目的是提供一种简单的方法来创建平滑的、具有动画效果的GUI界面。该框架是通过控制Qt的属性来实现动画的,它可以应用在窗口部件和其他QtObject对象上,也可以用在图形视图框架中。动画框架主要包括下面几个类一、属性实现动画 QPrrpertyAnimation类可以对Qt属性进行插值,如果一个值要实现动画效果,则就要使用这个类。新建Qt空项目,项目文件中增加“QT += widgets”,添加main.cpp文件,其示例代码如...原创 2020-11-21 16:26:22 · 267 阅读 · 1 评论 -
我的QT Creator学习笔记(二十三)——图形视图
Qt提供了图形视图框架(Graphics View Framework)、动画框架(The Animation Framework)和状态机框架(The State Machine Framework)来实现更加高级的图形和动画应用。一、图形视图框架的结构图形视图框架提供了一个居于图形项的模型视图编程方法,主要由场景、视图和图形项三部分组成,这三部分分别由QGraphicsScene、QGraphicsView和QGraphicsItem这3个类来表示。多视图可以看成一个场景,场景中包含各种各样几何原创 2020-11-14 21:14:56 · 413 阅读 · 0 评论 -
我的QT Creator学习笔记(二十二)——绘制基本图形和填充
Qt中和绘图相关的三个类是QPainter、QPainterDevice和QPaintEngine。QPainter可以在继承自QpainterDevice类的任何对象上进行绘制操作。QPainter一般在一个部件绘制重绘事件Paint Event的处理函数paintEvent()函数中进行绘制。首先创建QPainter对象,然后进行图像绘制,最后销毁QPainter对象。另外还有几个类经常用到。QPen类,为QPainter提供画笔来绘制线条和形状的轮廓。QBrush类提供了画刷来对图图形进行填充原创 2020-08-23 11:53:35 · 1270 阅读 · 0 评论 -
我的QT Creator学习笔记(二十一)——Qt国际化和Qt插件
一、国际化Qt可以使用Qt Linguist工具完成应用程序的翻译工作,生成.qm文件,然后在不同情况下为应用程序安装不同qm文件,实现不同环境不同语言版本。新建Qt Widget应用。在设计模式下添加"&File“菜单,再为其添加一个”&New"子菜单,并设置快捷键Ctrl+N.然后在构造函数中添加以下代码。 QLabel* label=new QLabel(this); label->setText(tr("hello Qt")); label-原创 2020-08-16 21:08:16 · 487 阅读 · 0 评论 -
我的QT Creator学习笔记(二十)——特殊效果窗体
一、不规则窗体qt中提供了部件遮盖mask来实现不规则窗体。下面例子给窗口设置遮盖。创建基于Qt Widgets的应用,取名mymask。向项目中添加资源文件resouce,向资源文件中添加图片文件bg.png。如下图在构造函数里添加以下代码 QPixmap pix; //加载图片 pix.load(":/image/bg.png"); //设置窗口大小为图片大小 resize(pix.size()); //为窗口设置遮掩 setM原创 2020-08-15 22:07:55 · 201 阅读 · 0 评论 -
我的QT Creator学习笔记(十九)——Qt样式表
Qt样式表的术语和语法规则与HTML CSS基本相同。一、样式规则样式表包含了一系列的样式规则,每个样式规则由选择器(Sekector)和声明(declaration)组成。选择器制定了受规则影响的部件,声明指定了这个部件上药设置的属性。例如:QPushButton{color:red}这个规则指定了QPushButton和它的子类使用红色作为前景色。多个选择器(用逗号隔开)可以指定相同的声明,如下QPuButton,QLineEdit,QComBox{color:red}声明部分也可以原创 2020-08-02 19:39:26 · 2303 阅读 · 0 评论 -
我的QT Creator学习笔记(十八)——Qt对象模型之属性系统
Qt提供了强大的基于元对象系统的属性系统,可以在运行Qt平台上支持标准C++编译器。要在一个类中声明属性,该类必须继承自QObject类,而且还要在声明前使用Q_PROPERTY()宏。这个宏从我个人的理解,比较像C++中的类模板,通过type和name指定属性后,相当于给该类加了一个成员变量,然后后面的就是读这个成员变量的读、写、重置、限制等附加属性。 Q_PROPERTY(type name (READ getFunction [WRITE setFunction]原创 2020-07-12 16:55:13 · 191 阅读 · 0 评论 -
我的QT Creator学习笔记(十七)——Qt对象模型之信号和槽机制
Qt在标准C++对象模型的基础山添加了一些特性,形成了自己的对象模型,这些特性有:原创 2020-07-12 15:44:25 · 419 阅读 · 0 评论 -
我的QT Creator学习笔记(十六)——事件系统定时器事件与随机数
QTimerEvent用来描述一个定时器事件。队医一个QObject的子类,只需要使用Int QObject::startTimer(int interval)函数就可以开启一个定时器。输入参数是毫秒为单位的整数,表明设定的时间。返回值为一个整型值,代表这个定时器的编号。当定时器溢出(即定时时间达到时)可以在timerEvent函数中进行需要的操作。Qt中使用qrand和qsrand两个函数实现随机数。新建Qt Widgets项目mytimerevent继承自QtWidget,类名默认Widget。原创 2020-07-05 16:21:01 · 364 阅读 · 0 评论 -
我的QT Creator学习笔记(十五)——事件系统之键盘事件
QKeyEvent类用来描述一个键盘事件。QKeyEvent的key()函数可以获取具体的按键,modifiers()函数来获取一些修饰按键,比如Ctrl和Shift等。新建Qt Widgets应用,项目名称为mykeywevent,基类选择QWidget,类名默认Widget。在widget.h中添加函数声明如下protected: void keyPressEvent(QKeyEvent* event); void keyReleaseEvent(QKeyEvent* even原创 2020-07-05 15:24:43 · 349 阅读 · 0 评论 -
我的QT Creator学习笔记(十四)——事件系统之鼠标事件和滚轮事件
事件系统之鼠标事件和滚轮事件原创 2020-07-05 12:57:47 · 683 阅读 · 0 评论 -
我的QT Creator学习笔记(十三)——事件系统之Qt中的事件
事件是对各种应用程序需要知道的由应用程序内部或者外部产生的事情或者动作的通称。在Qt中事件作为一个对象,继承者QEvent类,常见的有键盘事件QKeyEvent、鼠标事件QMouseEvent和定时器事件QTimerEvent等。事件与信号并不相同,比如单击界面上的按钮,那么就会产生鼠标事件QMouseEvent(不是按钮产生的),而因为按钮被按下了,按钮会发送clicked()信号(是按钮产生的)。在Qt中任何继承自QObject子类实例都可以接收和处理事件。一、事件的处理事件的处理方法有5种原创 2020-06-25 21:59:10 · 557 阅读 · 0 评论 -
我的QT Creator学习笔记(十二)——应用程序主窗口QMainWindow之打印文档
Qt中只需要使用一个QPrinter类和QPrinterDialog类就可以完成文档的打印操作。新建myprinter项目,完成打印文档、打印预览和生成pdf文档的功能。1、在.pro文件中,添加打印模块的支持,下面代码行...原创 2020-06-25 11:40:33 · 505 阅读 · 0 评论 -
我的QT Creator学习笔记(十一)——应用程序主窗口QMainWindow之拖放操作
拖放操作分为拖动(Drag)和放下(Drop)两种操作,当数据拖动时会被存储为MIME(Multipurpose Internet Mail Extensions)类型。Qt中使用QMimeData类型来表示MIME数据,使用QDrag类来完成数据的转移,而整个拖动操作都是在几个鼠标的事件和拖放事件中完成的。写一个项目完成使用拖放打开文件的操作。新建Qt Widgets应用,项目名为mydragdrop其他步骤默认。在设计模式下拖入一个TextEdit控件。在mainwindow.h中添加函原创 2020-06-21 18:45:23 · 744 阅读 · 2 评论 -
我的QT Creator学习笔记(十)——应用程序主窗口QMainWindow之富文本处理
富文本(Rich Text)或者叫富文本格式,简单来说就是在文档中可以使用多种格式,比如字体颜色,图片和表格等。它是与纯文本(Plain Text)相对而言的。比如记事本就是纯文本编辑器,Word就是富文本编辑器。...原创 2020-06-14 21:11:40 · 550 阅读 · 0 评论 -
我的QT Creator学习笔记(九)——应用程序主窗口QMainWindow之主窗口框架
一、主窗口框架 主窗口为建立应用程序用户界面提供了一个框架,Qt提供了QMainWindow和其他一些相关的类共同完成主窗口的管理。原创 2020-06-07 16:27:14 · 1070 阅读 · 0 评论 -
我的QT Creator学习笔记(八)——布局管理
Qt主要提供了QLayout类及其子类作为布局管理器,它们可以实现常用的布局管理功能。一般只需要使用QLayout的几个子类,它们分别是QBoxLayout(基本布局管理器)、QGridLayout(栅格布局管理器)、QFormLayout(窗口布局管理器)、QStackedLayout(栈布局管理器)。1、基本布局管理器(QBoxLayout) 基本布局管理器QBoxLayout类可以使子部件在水平方向或者垂直方向排成列,它将所有空间分成一行盒子,然后将每个部件放入一个...原创 2020-05-31 12:12:00 · 897 阅读 · 0 评论 -
我的QT Creator学习笔记(七)——标准对话框
Qt提供了一些常用的对话框类型,他们全部继承自QDialog类,并增加了自己的特色功能,比如获取颜色、显示特定信息等。新建Qt Widgets应用,在其ui设计模式中添加一些按钮,然后实现点击不同按钮显示不同对话的演示。1、颜色对话框 颜色对话框类QColorDialog提供了一个可以获取指定颜色的对话框部件。 在“颜色对话框”的单机信号槽中添加以下代码(主要包含<QDebug>和<QColorDialog>)void MyWid...原创 2020-05-24 16:06:43 · 766 阅读 · 0 评论 -
我的QT Creator学习笔记(六)——对话QDialog
QDialog是所有对话框窗口类的基类。对话框窗口是一个经常用来完成短小任务或者和用户进行简单交互的顶层窗口。一、模态对话框和非模态对话框 模态对话框是在没有关闭它之前,不能再与同一个应用程序的其他窗口进行交互。非模态对话框是既可以与它狡猾,也可以与同一程序的其他窗口交互。设置是否模态的接口是setModal,如下代码 ui->setupUi(this); ...原创 2020-05-17 16:02:55 · 476 阅读 · 0 评论 -
我的QT Creator学习笔记(五)——窗口部件之QWidget
在帮助索引中搜索QWidget 并查看,The QWidget class is the base class of all user interface objects.QWidget是所有用户界面的基类,被称为基础窗口部件。原创 2020-04-30 21:26:16 · 656 阅读 · 0 评论 -
我的QT Creator学习笔记(四)——使用.ui文件
使用.ui文件来代替代码生成的文件 ,学习.ui文件的作用。脱离Qt Creator,使用命令行进行编译.ui文件和整个项目,学习ui文件的编译过程。这部分内容可以在帮助索引中通过搜索Using a Designer UI File in Your Application关键字来查看。一、建一个空项目 二、 添加ui文件1、添加新文件,模板选择Qt Design...原创 2020-03-30 23:24:52 · 2779 阅读 · 0 评论 -
我的QT Creator学习笔记(三)——程序源码与命令编译过程学习(在命令行编译程序)
前面的学习笔记我的QT Creator学习笔记(一)-——环境配置与HelloWorld项目中讲了如何用qt Creator创建一个项目,并编译运行。步骤很简单,是因为qt Creator帮我们做了很多工作。 今天从源码编写、命令行编译程序,来学习Qt Creator内部是怎么帮我编译程序的。一、新建工程目录 在我们存放工程的文件夹下创建hellowor...原创 2020-03-29 18:13:09 · 1684 阅读 · 0 评论 -
我的QT Creator学习笔记(二)-——程序运行与发布,使用windeployqt命令发布我们的qt程序
当我们开发完一个Qt程序之后,想要打包发布给别人,就需要把可执行文件.exe,动态库dll、复制到一个文件夹然后打包,但是....往往我们不知道需要哪些依赖,而使可执行文件不能执行,经常出现类似以下的提示对于这种问题,有两种方法解决。 一是手动发布,比较笨的方法,提示缺少哪个文件(或者目录)就去找到这个文件(或者目录),把它拷贝过来,一般在qt的...原创 2020-03-22 21:04:33 · 399 阅读 · 0 评论 -
我的QT Creator学习笔记(一)-——环境配置与HelloWorld项目
年龄越大心里越焦虑,越焦虑就感觉要学的东西越多。计划三个月时间,边看书边练习边写博客记笔记的方式,用4个月(4、5、6、7)时间学习完 《Qt Creator 快速入门》(第三版)霍亚飞编著。 之前也做过一些简单的qt程序,看我的另外几篇博客也能知道,使用windeployqt命令发布我们的qt程序、认识qt 中connect函数、Qt pop3接收邮件并下载...原创 2020-03-29 16:06:36 · 1031 阅读 · 1 评论