自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(559)
  • 收藏
  • 关注

原创 QT 实现五子棋

本文福利,莬费领取Qt开发学习资料包、技术视频,内容包括(C++语言基础,Qt编程入门,QT信号与槽机制,QT界面开发-图像绘制,QT网络,QT数据库编程,QT项目实战,QSS,OpenCV,Quick模块,面试题等等)↓↓↓↓↓↓见下面↓↓文章底部点击莬费领取↓↓。五子棋是一款大家都熟系的小游戏,这里给大家一步一步的详细介绍如何用QT开发这个游戏,并通过这款游戏的开发练习,进一步熟系"qvector","qpoint", "qpainter", QMouseEvent, 产生工具栏等的用法和方法。

2023-09-16 19:50:44 1299

原创 QT串口 QSerialPort类的使用

衡量通信速度的参数,表示每秒钟传送的bit的个数。例如9600波特表示每秒钟发送9600个bit。常见的波特率:9600(QSerialPort::Baud9600),19200(QSerialPort::Baud19200),38400(QSerialPort::Baud38400),115200(QSerialPort::Baud115200)

2023-09-16 19:41:41 883

原创 QT实现俄罗斯方块游戏

俄罗斯方块是一款大家都熟系的小游戏,这里给大家一步一步的详细介绍如何用QT开发这个游戏,并通过这款游戏的开发练习,进一步熟系"qvector.h","qpoint.h", "qmap.h","qpainter.h", QTime, KeyEvent,QMediaPlaylist,QMediaPlayer 等的用法。3.4 游戏区程序设计, 实现开始,暂停,结束游戏,产生方块,方块移动,消格,记示游戏等级,分数,时间, 游戏背景绘制,方块绘制等功能。

2023-09-15 20:15:17 570

原创 Qt——QChart的显示

具体地说就是,QGraphicView在最底层,QGraphicsScene在中间,QChart在最外层。(1)QChart必须显示在widget上,更确切地说,是必须把它显示在QGraphicView控件中,众所周知,QT的ui控件都可以作为独立窗口直接显示,所以这就是方法1。(3)在ui界面中拖入一个graphicsView(或)控件,然后右击提升为QChartView类,如下图,点击添加,点击提升;QChart的显示容器创建完成。(2)把QChart显示在ui界面的QGraphicView控件中。

2023-09-15 19:46:17 388

原创 QT模板(TEMPLATE)

如果条目是单值的,比如template或者目的目录,我们是用“=”,但如果是多值条目,我们使用“+=”来为这个类型添加现有的条目。使用“=”会用新值替换原有的值,例如,如果我们写了DEFINES=QT_DLL,其它所有的定义都将被删除。你只需要使用那些你已经有值的系统变量,例如,如果你不需要任何额外的INCLUDEPATH,那么你就不需要指定它,qmake会为所需的提供默认值。注意,你必须使用“+=”,不要使用“=”,否则qmake就不能正确使用连编Qt的设置了,比如没法获得所编译的Qt库的类型了。

2023-09-14 19:52:04 336

原创 Qt之QTableview显示及单元格内容获取

qt中的显示模式是model/view方式。

2023-09-14 19:46:36 1660

原创 Qt:Qt资源系统

Qt资源系统是一种将图片、数据存储于二进制文件中的一套系统。这些图片、数据会被我们的程序使用,它们称为资源。Qt资源系统中存储了这些资源,使得程序可以很方便地找到并使用它们。Qt资源系统是独立于平台的,因为无论是文件还是翻译文件,都会被打包成为二进制数据。我们可以把这些二进制数据保存到可执行文件中,这种做法称为静态加载资源;也可以把它们单独保存在某个文件中,称为动态加载资源。qrc文件是基于XML格式的资源系统配置文件(注意是配置文件而不是资源文件本身),其中指定了各种资源的信息。将资源文件打包为二进制数据

2023-09-14 19:37:38 147

原创 Qt::UserRole的作用

除了这样采用一个id存放一个基本数据类型(一个用户如果有好多信息那就需要好多id),你可以采用结构体方式把用户数据放在一个结构体中,这样只需要一个id。Qt::UserRole相当于一个索引的作用,对于一些Qt的组件有一个参数位置就需要Qt::UserRole。就例如使用一个QListWidget,里面有多个QListWidgetItem。如果点击到某个item就会触发对应的事件onItemClicked。你给每一个item存放了一些数据。

2023-09-12 15:13:19 336

原创 Qt自定义代理与实例

当我们导入数据文件进行编辑时,QTableView组件为每个单元格提供的是缺省的代理编辑组件,就是一个QLineEdit组件。在编辑框里可以输入任何数据,所以比较通用。但是有些情况下,希望根据数据的类型限定使用不同的编辑组件,例如第1列我们要求是整数,使用QSpinBox作为编辑组件更合适createEditor()函数创建用于编辑模型数据的 widget组件,如一个QSpinBox组件,或一个QComboBox 组件;

2023-09-11 20:24:26 160

原创 Qt实现网络聊天室(客户端,服务端)

连接成功之后。

2023-09-11 20:12:12 217

原创 Qt - 获取系统当前时间

Qt获取系统当前时间的四种方法(一般使用第一种或者第二种)

2023-09-11 19:56:16 1896

原创 QT常用控件—自定义控件封装

Qt已经提供了很多的基础控件供开发使用,而Qt原生的控件有时候并不能满足我们的需求,特别是在工业的运用上,比如我们需要一个日期时间的选择器,Qt虽然已经提供了原生的QDateTime控件,但这个原生控件并不能满足我们的需求,又比如我们需要实现类似微信左侧的消息列表,单纯的原生QListWidget(QListView)并不能完整的满足需求,这个时候我们就会寻找一种可以满足我们需求的控件。而Qt提供了自定义控件的功能,我们可以通过QtCreator自定义自己的控件,以满足业务的需求。弹出提升窗口部件对话框。

2023-09-09 19:51:39 343

原创 QT常用控件—菜单栏和对话框

QMainWindow 是一个为用户提供主窗口程序的类,包含一个菜单栏(menu bar)、多个工具栏(tool bars)、多个锚接部件(dock widgets)、一个状态栏(status bar)及一个中心部件(central widget),是许多应用程序的基础,如文本编辑器,图片编辑器等。(本篇主要介绍菜单栏和工具栏)

2023-09-09 19:43:27 192

原创 Qt 设置窗体透明

本文福利,莬费领取Qt开发学习资料包、技术视频,内容包括(C++语言基础,Qt编程入门,QT信号与槽机制,QT界面开发-图像绘制,QT网络,QT数据库编程,QT项目实战,QSS,OpenCV,Quick模块,面试题等等)↓↓↓↓↓↓见下面↓↓文章底部点击莬费领取↓↓。在音频开发中,窗体多半为半透明、圆角窗体,如下为Qt 5.5 VS2013实现半透明方法总结。3)选择菜单Action,修改背景颜色透明度。3)效果图如下(录制gif时刷新有点延时)5)效果如下(录频有点重影)2、通过图片贴图,设置局部透明。

2023-09-08 20:10:16 304

原创 Qt:QSqlQuery

预定义查询:事先定义好查询语句,但暂时并不执行,通常是因为其中的项没有设置,通常与占位符结合使用;什么是带占位符的查询呢?就是在查询语句中,并不把语句写完整,而是某些地方填入占位符后,之后把占位符补充完整,就构成了一个完整的查询。

2023-09-08 19:54:51 294

原创 Qt 自定义插件

不行,即便把上面的release下生成的testwidgetplugin.dll拷贝到D:\Qt\5.14.2\msvc2017_64\plugins\designer下同样不行,机制的人类是不是想到用64位编译就可以了,答案是的。1.选择32位debug编译,然后把生成的testwidgetplugind.dll拷贝到D:\Qt\5.14.2\msvc2017\plugins\designer下面,启动D:\Qt\5.14.2\msvc2017\bin\designer.exe,在控件列表里没有出现。

2023-09-07 20:02:10 181

原创 QT-部件-按钮、item Widgets

QPushButton 常用按钮QToolButton 工具按钮 用于显示图片,如图想显示文字,修改风格:toolButtonStyle , 凸起风格autoRaiseradioButton 单选按钮,设置默认 ui->rBtnMan->setChecked(true);checkbox多选按钮,监听状态,2 选中 1 半选 0 未选中。

2023-09-07 19:49:46 142

原创 Qt-显示SVG格式图片

Qt为SVG格式图片的显示与生成提供了专门的QtSvg模块,包含QSvgWidget、QSvgRender、QGraphicsSvgItem。

2023-09-06 15:31:19 487

原创 Qt - 常用数据类型

除了标准类型, 我们自定义的类型也可以使用QVariant类进行封装, 被QVariant存储的数据类型需要有一个默认的构造函数和一个拷贝构造函数。为了实现这个功能,首先必须使用Q_DECLARE_METATYPE()宏。通常会将这个宏放在类的声明所在头文件的下面, 原型为:第一步: 定义类型,并注册//自定义类型public:Animal(){} //必须要有默认构造函数//拷贝构造函数也必须有,不过没有深、浅拷贝时,用默认的即可private://自定义类型注册。

2023-09-06 15:14:39 139

原创 Qt - 布局管理器

实际开发中,一个界面上可能包含十几个控件,手动调整它们的位置既费时又费力。总之借助布局管理器,我们无需再逐个调整控件的位置和大小,可以将更多的精力放在软件功能的实现上。

2023-09-06 14:50:10 298

原创 Qt的.pro文件格式解析

UI_DIR 、RCC_DIR 、 MOC_DIR 、OBJECTS_DIR 可以认为都是用来存放中间文件,只是存放的中间文件有所不同,不指定的话默认会存放在 .pro 文件所在的路径,显得工程看起来比较乱。项目被联编为一个debug的应用程序,debug 和 release 同时设置的时候,最后面的一个生效。模板变量告诉qmake为这个应用程序生成那种makefile文件。支持线程,当 CONFIG 参数包含 qt 的时候,这个是默认支持的。项目被联编为一个发布的应用程序。支持 c++11 的标准。

2023-09-05 19:48:56 83

原创 Qt Pro文件配置

本文福利,莬费领取Qt开发学习资料包、技术视频,内容包括(C++语言基础,Qt编程入门,QT信号与槽机制,QT界面开发-图像绘制,QT网络,QT数据库编程,QT项目实战,QSS,OpenCV,Quick模块,面试题等等)↓↓↓↓↓↓见下面↓↓文章底部点击莬费领取↓↓。CONFIG(debug,debug|release) : 两个参数,前者是要判断的active的选项,后者是互斥的选项的一个集合。用来指定引入的lib文件的路径,一般会在前面加下参数-L,根据不同的版本可以分为两种形式。指定目标文件的名称。

2023-09-05 19:42:41 141

原创 Qt编译MySQL驱动

本文福利,莬费领取Qt开发学习资料包、技术视频,内容包括(C++语言基础,Qt编程入门,QT信号与槽机制,QT界面开发-图像绘制,QT网络,QT数据库编程,QT项目实战,QSS,OpenCV,Quick模块,面试题等等)↓↓↓↓↓↓见下面↓↓文章底部点击莬费领取↓↓。生成程序会提示没有“libmysql.dll”,需要把Mysql安装目录:D:\install\mysql-5.6.24-win32\mysql-5.6.24-win32\lib的对应的库文件加入生成程序目录。运行命令:nmake。

2023-09-04 20:08:37 382

原创 Qt - 插件化编程

A、定义一个接口集(只有纯虚函数的类),用来与插件交流。B、用宏Q_DECLARE_INTERFACE()将该接口告诉Qt元对象系统。C、应用程序中用QPluginLoader来加载插件。D、用宏qobject_cast()来判断一个插件是否实现了接口。A、声明插件类,插件类继承自QObject和插件实现的接口。B、用宏Q_INTERFACES()将插件接口告诉Qt元对象系统。(注意Qt版本)C、用宏Q_EXPORT_PLUGIN2()导出插件类。(注意Qt版本)

2023-09-04 19:57:23 144

原创 Qt - TCP网络编程

QAbstractSocket类提供了所有套接字类型通用的基本功能。QAbstractSocket是QTcpSocket和QUdpSocket的基类,包含这两个类的所有通用功能。实例化QTcpSocket或QUdpSocket。创建本机套接字描述符,实例化QAbstractSocket,并调用setSocketDescriptor()来包装本机套接字。TCP(传输控制协议)是一种可靠的、面向流的、面向连接的传输协议。UDP(用户数据报协议)是一个不可靠的、面向数据报的、无连接的协议。

2023-09-04 19:47:56 245

原创 QT UDP通信

链接:https://pan.baidu.com/s/1i2vM3Uf3GAVmdCqf_FuETA。

2023-09-02 14:02:47 542

原创 C/C++ Qt 运用JSON解析库 [解析篇]

实现解析对象嵌套对象且对象中嵌套数组结构,如上配置文件中的ObjectInArrayJson既是我们需要解析的内容.实现解析根对象中的单一的键值对,例如解析配置文件中的blog,enable,status等这些独立的字段值.实现解析数组中对象中的嵌套数组结构,如上配置文件中的ObjectArrayJson既是我们需要解析的内容.实现解析数组中的多对象结构,如上配置文件中的ObjectJson既是我们需要解析的内容.实现解析数组中的数组结构,如上配置文件中的ArrayJson既是我们需要解析的内容.

2023-09-02 13:51:15 133

原创 Qt 对照表

常量描述显示文字绘制装饰数据(通常是图标)在编辑器中编辑的数据工具提示状态栏提示What's This文字尺寸提示默认代理的绘制使用的字体默认代理的对齐方式默认代理的背景画刷默认代理的检查框状态用户自定义的数据的起始位置默认代理的前景画刷。

2023-09-01 19:54:57 120

原创 Qt信号和槽及自定义类型注册

自定义类型(结构体/类),声明文件包含QMetaType:#include ;自定义类型结尾通过宏Q_DECLARE_METATYPE,注册:Q_DECLARE_METATYPE(MyClassType);建立信号槽关联connect之前用qRegisterMetaType注册(这个类文件也需要包含头文件QMetaType:#include )Q_DECLARE_METATYPE、qRegisterMetaType注册过程对象、引用、指针是不一样的。

2023-09-01 19:49:28 569

原创 Qt-绘图

平滑Pixmap转换算法抗锯齿。

2023-09-01 19:41:18 87

原创 Qt - QTable、QTab、QTree

在表格中添加行时,我们只需要在model中插入数据即可,一旦model中的数据发生变化,QTabelView显示就会做相应的变动。解决办法:clear()之后随即调用setRowCount(0)刷新QTableWidget程序异常崩溃(待证实)刷新QTableWidget程序异常崩溃。QTableView用法小结。QTableView用法小结。QTreeView开发实例。QTreeView开发实例。

2023-08-31 20:10:02 154

原创 QT QUICK

定义了脚本语言的所有属性、方法和对象,其他语言可以实现ECMAScript来作为功能的基础,正如JavaScript那样,ECMAScript描述了如下内容:语法、类型、语句、关键字、保留字、运算符、对象。,类型是list,列表是包含在方括号内,以逗号分隔的多个元素的集合,列表内只能包含QML对象,不能包含任何基本类型的字面量,非要包含,需要使用var变量,如果一个列表内只有一个元素,也可以省略方括号。,是附加到一个对象上的额外的属性,与附加属性相似的概念还有附加信号处理器。

2023-08-31 19:57:30 463

原创 Qt控件-QTableWidget相关

函数:ui.tableWidget->item(row, 0)->setBackgroundColor(QColor(0,255,255));设置QTableWidget所有表格字体:ui.QTableWidget->setFont(QFont("Helvetica"));函数:ui.tableWidget->item(row, 0)->setTextColor(QColor(255,0, 255));函数:ui.tableWidget->item(row, 0)->setFont(font);

2023-08-30 20:13:38 89

原创 Qt - XML和JSON

JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。(1),XML定义。

2023-08-30 20:02:12 370

原创 QT学习_视频播放

在命令中添加 -slave 和 -quiet就可以通过命令设置Mplayer实现相应的功能。在mplayer源码中的,slave.txt中对这些命令有详细的讲解。因为phonon是QT一个播放媒体的API,但是自身不带解码器,需要配一个后端如mplayer,以及封装插件Phonon_mplayer来搭配使用,安装复杂。使用 QProgress +mplayer 是一个绕过API的方法,而且C语言也可以通过系统编程来控制mplayer。通过上面的代码基本功能实现了,可是播放视频的时候发现又弹出一个窗口。

2023-08-30 19:51:06 104

原创 Qt - UDP网络编程

UDP(User Datagram Protocol,用户数据报协议)UDP是一个轻量级、不可靠、面向数据报的、无连接的协议,多用于可靠性要求不严格,不是非常重要的传输。QUdpSocket类继承自QAbstractSocket,用来发送和接收UDP数据报,”Socket”即套接字,套接字即IP地址+端口号。其中IP地址指定了网络中的一台主机,二端口号则指定了该主机上的一个网络程序,使用套接字即可实现网络上的两个应用程序之间的通信。

2023-08-29 20:09:05 1132

原创 Qt(QtWebEngine)加载本地网页跨域问题的总结

浏览器直接加载本地网页的时候,如果网页涉及到加载本地资源(如图片),会出现跨域的问题。Qt的Qt WebEngine模块基于Chromium项目,遇到这样的情况也会出现跨域的问题。

2023-08-29 19:44:08 544

原创 QGLWidget、QOpenGLWidget详解及区别

QOpenGLWidget类是用于呈现OpenGL图形的小部件。QOpenGLWidget提供显示集成到Qt应用程序中的OpenGL图形的功能。使用起来非常简单:让类继承它,并像其他QWidget一样使用子类,额外可以选择使用QPainer和标准的OpenGL渲染命令。渲染OpenGL场景。每当需要更新小部件时调用。设置OpenGL视区、投影等。每当小部件调整了大小时都会调用该视区(并且当它第一次显示时也会调用,因为所有新创建的小部件都会自动获得一个调整大小的事件)。

2023-08-28 20:19:15 1185

原创 Qt - 设置QWidget透明度方法

在构造函数里添加代码,需要添加头文件qpalette或qgui通过设置窗体的背景色来实现,将背景色设置为全透。效果: 窗口整体透明,但窗口控件不透明,QLabel控件只是字显示,控件背景色透明;窗体客户区完全透明。

2023-08-28 20:09:14 1573

原创 Qt实战:万能的无边框窗口(FramelessWindow)

之前也看了不少Qt实现FramelessWindow的例子,不是很复杂就是不通用。通过上面的实现,现在已完成了一个通用的版本,只要将自己的窗口设置到ContentWidget即可。界面的分层,感兴趣的朋友可以尝试下,如果没有XWidget这一层会有什么效果,ContentWidget边框效果会失效,这样当然就达不到预期结果了;启用了WA_Hover鼠标悬浮追踪,如果不启用,鼠标的移动事件可能会被子控件覆盖,这样就不会知道鼠标是否到达边框位置,从而无法正确设置鼠标的形状;

2023-08-26 19:58:23 973 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除