- 博客(56)
- 资源 (1)
- 收藏
- 关注
原创 QML遮罩组件OpacityMask
在QML中,OpacityMask 是用于实现遮罩效果的组件,它能将一个图形(源元素)按照另一个图形(遮罩)的形状进行裁剪。
2025-03-04 17:23:35
241
原创 DragHandler拖放处理组件
DragHandler是用于处理拖放操作的一个交互处理组件,它可以方便地为 Item 类型的对象添加拖放功能。无需手动处理事件逻辑。
2025-02-27 16:56:50
315
原创 函数返回类型后置(C++11)
在上述代码中,auto只是一个占位符,函数名后->紧跟的int才是真正的返回类型;在返回值类型比较复杂的时候使用返回类型后置比较方便。
2024-11-14 11:26:11
222
原创 decltype说明符(C++11~C++17)
`decltype`是 C++ 11 引入的一个关键字,用于在编译时期获取表达式或对象的类型。它的语法类似于typeof;**decltype (表达式)**,这里的 “表达式” 可以是变量、函数调用、对象成员访问表达式等几乎任何合法的 C++ 表达式。
2024-11-01 15:11:38
889
原创 QML旋转选择器组件Tumbler
Tumbler是一个用于创建旋转选择器的组件。它提供了一种直观的方式来让用户从一组选项中进行选择,类似于转盘式数字密码锁。网上找的类似网图如下:在QML里,这种组件一共有两个版本,分别在QtQuick.Extras 1.4(旧)和QtQuick.Controls 2.15(新)里。
2024-10-29 22:14:53
520
原创 类型推导typeof和typeid
typeof是gcc扩展关键字,在编译期间获取类型;typeid在C++11之前已经存在,用于在运行时获取类型
2024-10-29 12:05:28
544
原创 auto占位符(C++11~C++17)
在C++11以前,auto关键字是用来声明自动变量的。从C++11起auto被用来:声明变量时根据初始化表达式自动推断该变量的类型、声明函数时函数返回值的占位符。
2024-10-28 22:33:56
1183
原创 QML列表视图 ListView的使用
一个ListView可以显示来自由如ListModel和XmlListModel等内置 QML 类型创建的模型的数据,也可以用在 C++ 中定义的、继承自QAbstractItemModel或QAbstractListModel的自定义模型类的数据。
2024-10-24 14:28:17
1398
原创 python使用tesseract实现字符识别
Tesseract 是一个开源的光学字符识别(OCR)引擎,它能够识别多种语言的文本,可将扫描文档、图像中的文字提取并转换为计算机可编辑的文本格式。
2024-10-23 21:46:57
827
原创 QDateTimeEdit设置按钮宽度无效
在对QDateTimeEdit组件的小按钮用qss样式加图标的时候,发现设置的宽度无效,原因是spacing属性必须设置才行。
2024-04-10 19:43:39
394
原创 74HC245芯片简析
是一种三态输出、八路信号收发器,主要应用于大屏显示。如图:该芯片中A0到A7 和 B0到B7既可以作为输入也可以作为输出。当DIR为高电平时,A为输入,B为输出。当DIR为低电平时,B为输入,A为输出。OE为使能控制,当OE为低电平时才能正常工作。该芯片其他信息如下:...
2022-07-02 22:46:55
12988
1
原创 74HC138芯片简析
是一种三通道输入、八通道输出译码器。如图:该芯片使用A、B、C脚三个位来控制 Y0到Y7 这8个位的状态。因为23 = 8G1、G2A、G2B为使能控制位,只有当G1为高电平,其余两个为低电平时该芯片才能正常工作。...
2022-07-02 22:30:37
3861
原创 常用网络编程函数
头文件: 1.2 网络转主机2. 地址转换函数头文件: 2.2 数值转字符串3. 多种IO函数 1. send/recv头文件:可选项含义MSG_OOB用于传输带外数据MSG_PEEK验证输入缓冲中是否存在接受的数据MSG_DONTROUTE数据传输过程中不参照路由表,在本地网络中寻找目的地MSG_DONTWAIT调用I/O函数时不阻塞,用于使用非阻塞I/OMSG_WAITALL防止函数返回,直到接收全部请求的字节数
2022-06-27 21:27:33
253
原创 Qt状态机的使用
简单来说,Qt状态机就是从一个状态转换到另外一个状态,就好像电视机换台一样,当我点击换台按钮的时候,我就从A频道转到B频道了。电视机就相当于状态机:类名为电视机当前播放的频道就相当于一个状态:类名为而当我点击换台按钮的时候就相当于一个转换操作:类名为(实际使用的为它的子类)草图如下(s1, s2, s3为状态名,该文章演示例子是这样命名的):状态机相当于一个容器,主要用来装多个状态()状态机的类名为:状态类名:状态中有两个主要的函数为:当调用onEntry()函数后,会触发进入状态信号当调用o
2022-06-12 21:30:28
2230
原创 报错提示 “storage size of ‘act’ isn’t known struct sigaction act;”
编写网络应用程序时碰到了如下问题:解决办法如下:1. 在头文件前包含宏,如下:#define _POSIX_C_SOURCE 199506L2. 包含头文件#include <bits/sigaction.h>
2022-05-04 19:58:05
707
1
原创 Qt 如何改变图标颜色
1. 下载图标要实现图标修改颜色的功能需要去阿里巴巴矢量图标库选择自己需要的图标(网站:阿里巴巴矢量图标库),将需要的图标添加入库,如下加入后,去右上角点击购物车图标,把代码下载下来解压,然后打开,下载下来的文件中的.html文件。.html文件打开如下,别关后面有用:2. 加载QFontDatabase库以上步骤做好后,就可以去Qt中写代码了,需要包含头文件< QFontDatabase>主要的代码如下:第一行代码是加载字体图标库,就是从阿里图标网站上下载下来的文件里
2022-04-06 22:14:23
2474
1
原创 Qt 语法高亮设置
QRegularExpression是Qt 5.0加入的,它相对于QRegExp修复了很多bug,所以就采用这个类来实现语法高亮。
2021-11-18 19:54:03
2396
原创 QLabel标签内容过长怎么用省略号代替
标签内容比较长,如下所示:设置内容省略代码: QString content = "123456789,123456789,123456789"; QString s = ui->label->fontMetrics().elidedText(content,Qt::ElideRight,ui->label->width()); ui->label->setText(s); ui->label->adjustSize();
2021-10-03 21:07:33
2314
原创 Qt 鼠标事件
使用需添加头文件 < QMouseEvent >重载虚函数: // 点击事件 void mousePressEvent(QMouseEvent* e) override; // 移动事件 void mouseMoveEvent(QMouseEvent* e) override; // 释放时间 void mouseReleaseEvent(QMouseEvent *e) override;QMouseEvent::button() 返回鼠标事件按钮鼠标事件
2021-08-17 15:41:54
269
原创 Qt怎么设置部件透明度及阴影效果
1.透明度设置1.1 窗体设置透明度对于窗体透明度设置,就只需要调用一个函数就可以了,函数如下:函数参数是浮点数,取值范围是0到1 0即为全透明setWindowOpacity(0.5); //半透明程序运行效果图如下(我在界面上放了一个按钮可能不明显): // 窗口全透明 部件不透明 setWindowFlag(Qt::FramelessWindowHint); // Windows下需要配合这个 setAttribute(Qt::WA_TranslucentBackgr
2021-08-08 16:32:47
2260
原创 创建Windows和Linux共享的文件夹
点击虚拟机中的重新安装VMware Tools以上操作都做好后, 就打开终端将这个(刚刚拷贝过的)文件解压, 要先进入opt目录后在解压, 操作如下:然后点击回车,然后进入刚解压的目录, 找到那个安装文件(绿色的),输入命令安装,然后一直点击回车即可(需要安装gcc不然会错 gcc -v可验证是否安装了gcc) 操作如下:当出现如下信息,说明安装成功....
2021-04-26 17:26:20
340
原创 Qt的信号映射器 QSignalMapper
在Qt开发中,我们几乎都会使用到信号与槽的机制,在某些时候我们会碰到这样的事情,那就是很多个相同的信号执行(关联)同一个槽函数,如果我们一个一个的连接则会显得代码特别累赘,这时候我们就可以使用Qt的信号映射器,它的功能就是将很多个相同的信号(组件要为相同类型)’捆绑‘起来然后和一个槽函数进行关联,它可以自动识别信号发送者。下面是我的示例程序,我使用了6个按钮,当单击一个按钮时它会调用一个槽函数,将按钮上的内容打印出来。实现
2021-01-08 22:13:09
971
原创 在Qt中如何给菜单栏选项设置图标
首先创建一个QMainWindow类,在UI设计器里面给菜单项添加一些选项,如下:然后将你要设置的图片添加到Qt资源文件,若不知道怎么添加资源文件可以看下我的这篇文章: 如何添加资源文件将资源文件添加好后,点击Action Editor,然后就会看到我所圈出来的界面。然后在编辑栏选择你要设置图标的那个选项,然后打开QAction属性页面,点击icon,然后点击选择资源文件,然后再资源文件中选取你要选择的图标,然后点击OK就可以了。如下演示:然后图标就设置成功了,可以预览,运行后也可以看到了。
2020-12-30 21:55:03
3167
2
原创 QString类详解
文章目录一、简要介绍1.1 隐式共享二、常用方法2.1 常用构造函数2.2 字符串与数值之间的转换2.3 添加字符串2.4 大小写转换一、简要介绍在Qt中表示字符串的类是QString类,它存储字符串是采用的Unicode码,编码方式是使用UTF-16来进行编码的,也就是一个字符(两个字节),一个中文汉字一般情况下是两个字节。1.1 隐式共享QString类采用了隐式共享的机制,那什么是隐式共享呢?隐式共享:就是最大化资源的有效利用和最小化复制克隆操作。它是一种对象的管理方法(由隐式共享类所创建的
2020-12-29 20:51:08
23328
4
原创 QLineEdit的输入掩码属性
输入掩码是什么意思呢?其实就是对我们的输入进行格式限定,比如在密码行编辑器中,我设定的密码只能是数字,那么你就只能输入数字,输入其他字符是无效的。那么如何设置输入掩码呢? 在QLineEdit中设置输入掩码的属性是inputMask,在窗口界面设置(代码区)设置的话需要调用setInputMask()函数来设置,也可以在UI设计窗口中设置(推荐使用这种方式, 演示使用的是UI设计器)。设置属性如下图:在我们没有设置输入掩码的情况下,在行编辑器中我们可以输入任何的字符。例如这样:如果我们想要设置
2020-12-26 21:35:14
1457
原创 QLabel的四种显示方式
文章目录1.文本显示2.数字显示3.图片显示4.动图显示(.gif)5.QLabel属性页面1.文本显示文本显示就很常用了,使用setText()函数设置文本内容就可以了。setText(“文本内容”);2.数字显示数字显示需要使用setNum()函数。setNum(数字);3.图片显示图片显示需要使用setPixmap()函数。4.动图显示(.gif)效果:5.QLabel属性页面属性解释在右边:...
2020-12-23 22:01:21
6821
2
原创 Qt中如何设置窗体状态
文章目录1.窗体状态2.模态窗口和UI设计器属性表解释1.窗体状态使用setWindowState函数设置窗体的状态,如下:setWindowState(Qt::WindowMinimized); // 窗体最小化窗体状态可设置属性值如下:2.模态窗口和UI设计器属性表解释windowModality是设置模态窗口的属性,它有三个属性值,如下图:NonModal: 非模态窗口,不会阻塞对其他窗口的输入。WindowModal: 模态窗口,会阻塞父类窗口的输入。Appli
2020-12-23 20:38:35
1969
原创 Qt中组件的伙伴关系以及Tab顺序
文章目录一、伙伴关系1.什么是伙伴关系?2.设置伙伴关系二、Tab顺序一、伙伴关系1.什么是伙伴关系?伙伴关系就是指在界面上有一个Label标签和一个组件相关联,它的作用就是为了在程序运行的时候,在窗体上使用快捷键快速的将输入焦点切换到某个组件上。在下面的示例中,我拖了两个QLabel标签和两个LineEdit。可以看到,我将两个QLabel的文本内容里面都加了(&字母),如截图里的(&N),(&A); 其中符号 ‘&’ 就是用来指定快捷键的,当我们设置了伙伴关系
2020-12-22 13:10:18
1807
原创 Qt项目的打包
文章目录一、准备图标二、建立License.txt文件三、安装NSIS软件四、打包项目这篇文章的操作是在我另一文章的基础上进行的:Qt项目的发布一、准备图标我们可以事先准备好两张图标,后缀名是(.ico)的图标文件,当作安装和卸载的图标文件。如果你没有.ico的图标文件,可以用其他图片文件个进行转换,强制改后缀名不可以,这里我给大家推荐一个格式转换网站,可在这里进行转换:图片格式转换这是我准备的两个图标文件。图片准备好后,将图标文件放到我们的Qt目录(发布文件目录中)中二、建立Licen
2020-12-20 10:49:07
203
2
原创 Qt项目的发布
文章目录一、准备二、建立空目录三、拷贝缺失的库文件四、发给别人不能运行的情况五、通过工具加载库文件1、配置环境变量2、加载完成后的问题想直接快速发布的可直接从目录五开始看,前面是我自己的笔记。一、准备要发布的时候我们将自己的项目使用Release模式编译:二、建立空目录我们可以在桌面或者其他哪(你自己定)建立一个空目录,然后将所需要的文件拷贝进这个目录,比如项目中要用到的图片文件,文本文件等。这是我的项目,当我们拷贝完后,点击运行我们会发现会报错,如下:三、拷贝缺失的库文件上述问题的解决
2020-12-19 21:19:08
610
2
原创 在Qt中怎么给应用程序加上图标
文章目录一、准备.ico图标文件二、给应用程序加上图标三、有可能发生的错误一、准备.ico图标文件首先要准备一张图标文件,后缀名是.ico的文件,如果没有的话,可以将其他图片文件进行转换。如果是直接强制改其他图片的后缀名是不行的,在这里我给大家推荐一个在线转换格式的网站,如下:点我-图片格式转换图标文件准备好后,将它放到项目目录中去。二、给应用程序加上图标在pro文件中添加一行代码,如下:RC_ICONS += 图片名.ico然后就可以运行程序了,当你的程序的左上角显示有你的图标后,那么
2020-12-19 19:47:47
1210
2
原创 基于EasyX的三子棋游戏
实现代码如下:#include <graphics.h>#include <mmSystem.h>#include <stdio.h>#include <conio.h>#pragma comment(lib, "winmm.lib")#define SCREEN_WIDTH 300#define SCREEN_HEIGHT 300// 对行和列以及斜对角进行判断,是否可以连成线#define ONE_ROW (map[0][0]
2020-12-17 16:04:06
392
原创 在Qt中如何实现窗口交互
首先介绍done函数,它的作用是:关闭当前窗口,同时返回一个状态信息。Qt助手解释:关闭对话框并将其结果代码设置为r。如果这个对话框显示了exec(), done()导致本地事件循环结束,exec()返回r。void QDialog::done(int r);r 有两个状态 Accepted和Rejected例子如下:main函数:模态对话框:就是与用户交互,用户需要给一个反应(点击取消,确定等等这些操作),若用户不关闭对话框那么对话框就会一直阻塞(停留在交互模式下)直到关闭为止。并且不能与
2020-12-16 21:49:12
3408
原创 Qt中如何设置窗口的样式风格
演示Qt版本5.9.6。在Qt中设置窗口的样式风格有两个函数:setWindowFlag(); //设置一种样式风格setWindowFlags(); //设置多种样式风格 使用 | 运算组合案例如下:这是我的原始窗口,以QDialog为基类创建出的窗口。1.使用setWindowFlag()设置:这是运行后的效果:这时候会发现,现在的窗口比我之前创建的窗口多了一个最小化的按钮。2.使用setWindowFlags()设置:多种组合设置需要使用 | 运算。为窗口添加一
2020-12-14 20:28:32
4947
原创 如何在Qt中添加资源文件
演示QT版本为5.9.6。*** 首先要将资源文件放到项目文件夹中如下:我用的是图片然后回到QtCreator编辑界面中,右击项目名,点击添加新文件。选择Qt --> 选择Qt资源文件 然后点击完成对资源文件取名,然后点击下一步。直接点击完成即可。点击添加前缀。将前缀删除,只留下/(防止目录结构太深)然后再点击添加文件。这时候会弹出一个对话框让我们选择资源文件,然后选择我们要添加的资源文件就可以了,资源文件可以多选。这时候资源文件就添加好了,记得要保存不然就白做
2020-12-14 19:31:12
1475
原创 MySQL数据类型以及运算符
文章目录一、数据类型1.1数值类型一、数据类型MySQL数据库支持多种数据类型,其中有数值类型、日期/时间类型以及字符串类型。1.1数值类型详细如下表:数据类型说明存储单位––| | | 存储单位|–|--|| | |...
2020-12-05 19:19:32
213
原创 C++ vector用法详解
vector(向量)vector是一种类模板,属于C++标准模板库(STL)中的一部分,它是一个可以存储任意数据类型元素的动态数组,也因此被我们称之为容器。使用它需要包含的头文件: <vector>一、vector初始化...
2020-11-29 13:26:29
615
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人