自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

T

  • 博客(45)
  • 资源 (1)
  • 收藏
  • 关注

原创 QDateTimeEdit设置按钮宽度无效

在对QDateTimeEdit组件的小按钮用qss样式加图标的时候,发现设置的宽度无效,原因是spacing属性必须设置才行。

2024-04-10 19:43:39 201

原创 Qt实现手动拉伸窗口大小代码(nativeEvent)

【代码】Qt实现手动拉伸窗口大小代码(nativeEvent)

2024-04-04 20:27:15 86

原创 74HC245芯片简析

是一种三态输出、八路信号收发器,主要应用于大屏显示。如图:该芯片中A0到A7 和 B0到B7既可以作为输入也可以作为输出。当DIR为高电平时,A为输入,B为输出。当DIR为低电平时,B为输入,A为输出。OE为使能控制,当OE为低电平时才能正常工作。该芯片其他信息如下:...

2022-07-02 22:46:55 11288 1

原创 74HC138芯片简析

是一种三通道输入、八通道输出译码器。如图:该芯片使用A、B、C脚三个位来控制 Y0到Y7 这8个位的状态。因为23 = 8G1、G2A、G2B为使能控制位,只有当G1为高电平,其余两个为低电平时该芯片才能正常工作。...

2022-07-02 22:30:37 3173

原创 常用网络编程函数

头文件: 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 196

原创 Qt状态机的使用

简单来说,Qt状态机就是从一个状态转换到另外一个状态,就好像电视机换台一样,当我点击换台按钮的时候,我就从A频道转到B频道了。电视机就相当于状态机:类名为电视机当前播放的频道就相当于一个状态:类名为而当我点击换台按钮的时候就相当于一个转换操作:类名为(实际使用的为它的子类)草图如下(s1, s2, s3为状态名,该文章演示例子是这样命名的):状态机相当于一个容器,主要用来装多个状态()状态机的类名为:状态类名:状态中有两个主要的函数为:当调用onEntry()函数后,会触发进入状态信号当调用o

2022-06-12 21:30:28 2033

原创 报错提示 “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 565 1

原创 Qt 如何改变图标颜色

1. 下载图标要实现图标修改颜色的功能需要去阿里巴巴矢量图标库选择自己需要的图标(网站:阿里巴巴矢量图标库),将需要的图标添加入库,如下加入后,去右上角点击购物车图标,把代码下载下来解压,然后打开,下载下来的文件中的.html文件。.html文件打开如下,别关后面有用:2. 加载QFontDatabase库以上步骤做好后,就可以去Qt中写代码了,需要包含头文件< QFontDatabase>主要的代码如下:第一行代码是加载字体图标库,就是从阿里图标网站上下载下来的文件里

2022-04-06 22:14:23 2064 1

原创 Qt 语法高亮设置

QRegularExpression是Qt 5.0加入的,它相对于QRegExp修复了很多bug,所以就采用这个类来实现语法高亮。

2021-11-18 19:54:03 2170

原创 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 1424

原创 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 206

原创 Qt怎么设置部件透明度及阴影效果

1.透明度设置1.1 窗体设置透明度对于窗体透明度设置,就只需要调用一个函数就可以了,函数如下:函数参数是浮点数,取值范围是0到1 0即为全透明setWindowOpacity(0.5); //半透明程序运行效果图如下(我在界面上放了一个按钮可能不明显): // 窗口全透明 部件不透明 setWindowFlag(Qt::FramelessWindowHint); // Windows下需要配合这个 setAttribute(Qt::WA_TranslucentBackgr

2021-08-08 16:32:47 2063

原创 创建Windows和Linux共享的文件夹

点击虚拟机中的重新安装VMware Tools以上操作都做好后, 就打开终端将这个(刚刚拷贝过的)文件解压, 要先进入opt目录后在解压, 操作如下:然后点击回车,然后进入刚解压的目录, 找到那个安装文件(绿色的),输入命令安装,然后一直点击回车即可(需要安装gcc不然会错 gcc -v可验证是否安装了gcc) 操作如下:当出现如下信息,说明安装成功....

2021-04-26 17:26:20 282

原创 Qt的信号映射器 QSignalMapper

       在Qt开发中,我们几乎都会使用到信号与槽的机制,在某些时候我们会碰到这样的事情,那就是很多个相同的信号执行(关联)同一个槽函数,如果我们一个一个的连接则会显得代码特别累赘,这时候我们就可以使用Qt的信号映射器,它的功能就是将很多个相同的信号(组件要为相同类型)’捆绑‘起来然后和一个槽函数进行关联,它可以自动识别信号发送者。下面是我的示例程序,我使用了6个按钮,当单击一个按钮时它会调用一个槽函数,将按钮上的内容打印出来。实现

2021-01-08 22:13:09 812

原创 在Qt中如何给菜单栏选项设置图标

首先创建一个QMainWindow类,在UI设计器里面给菜单项添加一些选项,如下:然后将你要设置的图片添加到Qt资源文件,若不知道怎么添加资源文件可以看下我的这篇文章: 如何添加资源文件将资源文件添加好后,点击Action Editor,然后就会看到我所圈出来的界面。然后在编辑栏选择你要设置图标的那个选项,然后打开QAction属性页面,点击icon,然后点击选择资源文件,然后再资源文件中选取你要选择的图标,然后点击OK就可以了。如下演示:然后图标就设置成功了,可以预览,运行后也可以看到了。

2020-12-30 21:55:03 2536 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 22929 4

原创 QLineEdit的输入掩码属性

输入掩码是什么意思呢?其实就是对我们的输入进行格式限定,比如在密码行编辑器中,我设定的密码只能是数字,那么你就只能输入数字,输入其他字符是无效的。那么如何设置输入掩码呢? 在QLineEdit中设置输入掩码的属性是inputMask,在窗口界面设置(代码区)设置的话需要调用setInputMask()函数来设置,也可以在UI设计窗口中设置(推荐使用这种方式, 演示使用的是UI设计器)。设置属性如下图:在我们没有设置输入掩码的情况下,在行编辑器中我们可以输入任何的字符。例如这样:如果我们想要设置

2020-12-26 21:35:14 1232

原创 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 5313 2

原创 Qt中如何设置窗体状态

文章目录1.窗体状态2.模态窗口和UI设计器属性表解释1.窗体状态使用setWindowState函数设置窗体的状态,如下:setWindowState(Qt::WindowMinimized); // 窗体最小化窗体状态可设置属性值如下:2.模态窗口和UI设计器属性表解释windowModality是设置模态窗口的属性,它有三个属性值,如下图:NonModal: 非模态窗口,不会阻塞对其他窗口的输入。WindowModal: 模态窗口,会阻塞父类窗口的输入。Appli

2020-12-23 20:38:35 1701

原创 Qt中组件的伙伴关系以及Tab顺序

文章目录一、伙伴关系1.什么是伙伴关系?2.设置伙伴关系二、Tab顺序一、伙伴关系1.什么是伙伴关系?伙伴关系就是指在界面上有一个Label标签和一个组件相关联,它的作用就是为了在程序运行的时候,在窗体上使用快捷键快速的将输入焦点切换到某个组件上。在下面的示例中,我拖了两个QLabel标签和两个LineEdit。可以看到,我将两个QLabel的文本内容里面都加了(&字母),如截图里的(&N),(&A); 其中符号 ‘&’ 就是用来指定快捷键的,当我们设置了伙伴关系

2020-12-22 13:10:18 1357

原创 Qt项目的打包

文章目录一、准备图标二、建立License.txt文件三、安装NSIS软件四、打包项目这篇文章的操作是在我另一文章的基础上进行的:Qt项目的发布一、准备图标我们可以事先准备好两张图标,后缀名是(.ico)的图标文件,当作安装和卸载的图标文件。如果你没有.ico的图标文件,可以用其他图片文件个进行转换,强制改后缀名不可以,这里我给大家推荐一个格式转换网站,可在这里进行转换:图片格式转换这是我准备的两个图标文件。图片准备好后,将图标文件放到我们的Qt目录(发布文件目录中)中二、建立Licen

2020-12-20 10:49:07 160 2

原创 Qt项目的发布

文章目录一、准备二、建立空目录三、拷贝缺失的库文件四、发给别人不能运行的情况五、通过工具加载库文件1、配置环境变量2、加载完成后的问题想直接快速发布的可直接从目录五开始看,前面是我自己的笔记。一、准备要发布的时候我们将自己的项目使用Release模式编译:二、建立空目录我们可以在桌面或者其他哪(你自己定)建立一个空目录,然后将所需要的文件拷贝进这个目录,比如项目中要用到的图片文件,文本文件等。这是我的项目,当我们拷贝完后,点击运行我们会发现会报错,如下:三、拷贝缺失的库文件上述问题的解决

2020-12-19 21:19:08 412 2

原创 在Qt中怎么给应用程序加上图标

文章目录一、准备.ico图标文件二、给应用程序加上图标三、有可能发生的错误一、准备.ico图标文件首先要准备一张图标文件,后缀名是.ico的文件,如果没有的话,可以将其他图片文件进行转换。如果是直接强制改其他图片的后缀名是不行的,在这里我给大家推荐一个在线转换格式的网站,如下:点我-图片格式转换图标文件准备好后,将它放到项目目录中去。二、给应用程序加上图标在pro文件中添加一行代码,如下:RC_ICONS += 图片名.ico然后就可以运行程序了,当你的程序的左上角显示有你的图标后,那么

2020-12-19 19:47:47 1156 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 291

原创 在Qt中如何实现窗口交互

首先介绍done函数,它的作用是:关闭当前窗口,同时返回一个状态信息。Qt助手解释:关闭对话框并将其结果代码设置为r。如果这个对话框显示了exec(), done()导致本地事件循环结束,exec()返回r。void QDialog::done(int r);r 有两个状态 Accepted和Rejected例子如下:main函数:模态对话框:就是与用户交互,用户需要给一个反应(点击取消,确定等等这些操作),若用户不关闭对话框那么对话框就会一直阻塞(停留在交互模式下)直到关闭为止。并且不能与

2020-12-16 21:49:12 2905

原创 Qt中如何设置窗口的样式风格

演示Qt版本5.9.6。在Qt中设置窗口的样式风格有两个函数:setWindowFlag(); //设置一种样式风格setWindowFlags(); //设置多种样式风格 使用 | 运算组合案例如下:这是我的原始窗口,以QDialog为基类创建出的窗口。1.使用setWindowFlag()设置:这是运行后的效果:这时候会发现,现在的窗口比我之前创建的窗口多了一个最小化的按钮。2.使用setWindowFlags()设置:多种组合设置需要使用 | 运算。为窗口添加一

2020-12-14 20:28:32 4593

原创 如何在Qt中添加资源文件

演示QT版本为5.9.6。*** 首先要将资源文件放到项目文件夹中如下:我用的是图片然后回到QtCreator编辑界面中,右击项目名,点击添加新文件。选择Qt --> 选择Qt资源文件 然后点击完成对资源文件取名,然后点击下一步。直接点击完成即可。点击添加前缀。将前缀删除,只留下/(防止目录结构太深)然后再点击添加文件。这时候会弹出一个对话框让我们选择资源文件,然后选择我们要添加的资源文件就可以了,资源文件可以多选。这时候资源文件就添加好了,记得要保存不然就白做

2020-12-14 19:31:12 1350

原创 MySQL数据类型以及运算符

文章目录一、数据类型1.1数值类型一、数据类型MySQL数据库支持多种数据类型,其中有数值类型、日期/时间类型以及字符串类型。1.1数值类型详细如下表:数据类型说明存储单位––| | | 存储单位|–|--|| | |...

2020-12-05 19:19:32 174

原创 C++ vector用法详解

vector(向量)vector是一种类模板,属于C++标准模板库(STL)中的一部分,它是一个可以存储任意数据类型元素的动态数组,也因此被我们称之为容器。使用它需要包含的头文件: <vector>一、vector初始化...

2020-11-29 13:26:29 564

原创 C++IO流

C++的输入与输出简称IO流。原理:通过输出流向目标设备写入数据,输入流就是从设备读入数据。设备分为三种:1. 文件 2.控制台 3.特定的数据类型(stringstream)。

2020-11-26 20:38:08 124

原创 MySQL 数据库操作

<学习记录>MySQL 语法不区分大小写!一、数据库登录:mysql -h 127.0.0.1 -uroot -p数据库密码-h 127.0.0.1 表示本地登录 可以省略二、启动数据库服务:查看服务命令:net start关闭服务命令:net stop MySQL80启动服务命令:net start MySQL80三、数据库操作查看当前数据库已经存在的数据库(查看数据库):SHOW DATABASES;创建数据库:CREATE DATABASE 数据库名

2020-06-09 21:41:39 99

原创 EasyX图形库笔记

入门1:画:画一个圆环: circle(x,y,r); x,y分别为圆心坐标,r为半径。 画一条直线:line(x,y,x1,y1); x,y一端坐标,x1,y1另一端坐标。画一个点:putpixel(x,y,color); xy点坐标,color点颜色。画一个填充矩形:solidrectangle(20,20,200,300);设置:设置线的颜色:setlinecolor...

2020-02-24 11:59:19 1056

原创 数据结构与算法--栈

数据结构与算法之顺序栈简介:栈也是一种受限制的线性表,与队列刚好相反,队列的特性是先进先出,而栈的特性是先进后出;只可在其一端(栈顶)进行(进出)操作。 操作数据的一端我们通常称为栈顶(top),另外一段称为栈底(base)。栈的存储结构大致如下:我们可以把栈结构大致看成一个装书的箱子,我们只能在箱子的顶部进行放书和拿书,先放进去的(高数)书会在箱子的最底部,后放的(英语)书会压在先放的高...

2020-02-24 11:58:35 359

原创 变量的存储类型

变量一共有4种存储类型分别为:1.自动变量(auto)。2.静态变量 (static)。3.外部变量(extern)。4.寄存器变量(register)。一、自动变量(auto):函数中所有的非静态局部变量。#include <iostream>#include <stdlib.h>#include <Windows.h>void exer...

2019-12-15 15:07:34 523

原创 C++ 内存分布

一、简要概述:栈区: 由编译器自动分配释放,存放函数的参数值,局部变量等(如递归函数)。常量字符指针arr和整型变量x,y的生命周期就在这个函数内部,函数调用完后,它们将被释放。void print(const char *arr){//arr为形参 int x,y; //局部变量 if(arr){ printf("%s\n",arr); }else{ printf("?...

2019-12-14 11:27:42 162

原创 制作静态库 VS2010

演示使用的是VC2010。首先创建新项目选则Win32 项目(名称就是库名称)点击确定直接下一步选择静态库,不要勾选预编译头(你想勾选也可以),点击确定在源文件里创建cpp文件写代码,里面不要写main函数,方法写好后点击生成解决方案。如果生成成功了,那么库文件就建成功了,若没有,那么就是代码由有问题。创建头文件,名字最好与库文件名相同,头文件里写函数声明,即使用手册说明。...

2019-11-24 18:07:22 248

原创 数据结构与算法 (最大)堆

数据结构与算法 (最大)堆堆是什么?之前的顺序表,链表和队列都能理解

2019-11-23 15:27:44 263

原创 数据结构与算法 (单)链队列

数据结构与算法 (单)链队列单链表实现队列1.初始化队列首先创建单链表,和队列结构,在队列结构中定义两个指针变量front、rear,分别用来指向队列的首部和为尾部。判断队列是否为空,是否已满。#define MaxSize 5 //队列的最大容量 typedef int DataType; //队列中元素类型typedef struct _QNode { //(链表)结点结构 ...

2019-11-13 16:46:15 157

原创 数据结构与算法 队列(顺序表实现)

数据结构与算法 队列简单描述:队列是一种受限制的线性结构(先进先出),它只能在表的前端进行删除,在表的后端进行插入。一、用顺序表实现1.初始化队列,判断队列是否为空,是否为满宏定义设置这个队列的最大容量,重新定义类据类型作为队列的数据类型,这样可方便修改,结构体队列中除数据区外,还定义了两个整型变量front、rear,分别用来表示该队列的首部位置和尾部位置(当前队列最后已有元素位置的下一...

2019-11-09 13:18:26 495

原创 java 文件的操作

java 文件的操作需导包import java.io.File;1.文件构造器文件构造器是用来创建文件对象的,我们在创建文件对象时要保证文件路径正确,下面代码中是四个创建文件对象的构造方法。 //文件的构造器是用来创建文件对象的, 我们创建文件对象的时候要保证文件路径正确 File file = new File("D:\\tx.txt"); Syste...

2019-11-08 20:15:52 89

基于EasyX实现的三子棋游戏

使用C语言写的三子棋游戏。

2020-12-24

空空如也

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

TA关注的人

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