自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 资源 (12)
  • 收藏
  • 关注

原创 C#基础学习 - 中国民族编码资源代码

{21, "瓦族" },{22,"畲族" },{23,"高山族" },{24,"拉祜族" },{25,"水族"},{26,"东乡族" },{27,"纳西族" },{28,"景颇族" },{29,"柯尔克孜族" },{30,"土族" },{1, "汉族" },{2,"蒙古族" },{3,"回族" },{4,"藏族" },{5,"维吾尔族"},{6,"苗族" },{7,"彝族" },{8,"壮族" },{9,"布依族" },{10,"朝鲜族" },return 57;return "其他";

2026-03-09 23:14:19 342

原创 C#程序基础 - 上一节WS访问库的应用。

lstLog.Items.Insert(0, $"[{DateTime.Now.ToString("HH:mm:ss")}]收到数据:" + e.Count.ToString() + "字节" + e.Text);lstLog.Items.Insert(0, $"[{DateTime.Now.ToString("HH:mm:ss")}]状态改变:" + e.ToString());"连接发送" : "停止发送";

2026-03-06 16:36:12 798

原创 C# 基础文章 - WS通信库WSHelper

OnLoginfo?.Invoke(this, "重连" + State);OnLoginfo?.Invoke(this, "重连" + State);

2026-03-05 12:55:44 403

原创 C#基础 - 下载M3U8视频

AddLog("开始下载TS文件" + tsfiles.Count + "个");AddLog("识别M3U8地址" + cmburl.Text);AddLog("取得文件内容" + tss.Length + "行");AddLog("结速下载TS文件!

2026-03-04 11:38:46 554

原创 QT第7个程序 - 成语填空

【代码】QT第7个程序 - 成语填空。

2026-02-25 22:06:52 261

原创 设置类制作 - C#

【代码】设置类制作 - C#

2026-02-25 21:00:16 348

原创 C#基础训练营 - 02 - 运算器

MessageBox.Show($"{a}{op}{b}={c}", "运算");MessageBox.Show("填写错误!

2026-02-13 15:05:14 913

原创 C#基础训练营 - 01 - 数据类型

类型类型于List,但当绑定给DataSource的时候,它的变化,会自动体现出来。List<类型>,好查好找元素,但效率一般。short,短整型,4字节,等同于System.Int16。有机会上VS环境试试!int 整型,8字节,等同于System.Int32。LinkedList<类型>,不太好找元素,但效率高。char,字符型,2字节,0x00-0xff。

2026-02-11 13:53:26 428

原创 QT第6个程序 - 网页内容摘取

QString::number(count) + " 完成:"+ QString::number(now*100.0/count) +"%";else if(one.contains("<a href=\"/guwen/bookv_") && one.contains("第"))if(one.contains("bookMl")>0 && one.contains("部"))x.Title=title.left(title.indexOf("第"));web->setText("没有找到数据内容!

2026-02-07 22:36:27 1267

原创 QT第五个程序 - 小学拼音找字训练

【代码】QT第五个程序 - 小学拼音找字训练。

2026-02-02 20:33:26 475

原创 QT第四个程序 - 小学数学10以内加减多级计算训练程序

三、第三个程序计算模块,这不传了。二、W004.cpp。四、main.cpp。

2026-01-30 23:42:14 797

原创 QT第三个程序 - 表达式计算器

一、main.cpp。四、计算核心.cpp。

2026-01-29 22:59:37 556

原创 QT新手日记035

包括了QCategory3DAxis和QValue3DAxis。有区别的时,3D图表包括一个数据代理Data Proxies。主要用于存储序列的数据的类。三维图表类主要有Q3DBars\Q3DScatter/Q3DSurface组成。3D表示的数据很多。数据量大,必须用缓冲填充的方式使用代理是性能表现更良好。图形不一样,存储的数据代理也不一样。col->setLables({标签列表});row->setLabels({标签列表});要把这个东西显示在窗口上。使用3D图表需要在pro加入。

2026-01-26 14:03:54 354

原创 QT新手日记034

QChart继承于QGraphicsItem->QGraphicsObject->QGraphicsWidget-QChart->QPolarChart。图表类QChart主要包括QChartView/QChart/QPolarChart。//这样的话,就得到了一个双曲线的图标,一条是正弦曲线,一条是余弦曲线。ch->setTitle("图表标题内容");s1->setName("正弦曲线");s2->setName("余弦曲线");

2026-01-26 12:43:25 578

原创 QT新手日记033

/wheel.modifiers:int类似于button,表示键盘同时按下什么键:Qt.NoModifier/ShiftModifier/ControlModifier/AltModifier/MetaModifier/KeypadModifier等的或运算得到数据。//当鼠标滚轮滚动时干点什么,一般wheel.angleDelta().y()表示正负120的滚动量,当然还有wheel.x(),wheel.y()表示位置。onPressAndHold:(MouseEvent型的参数mouse)=>{

2026-01-23 08:50:41 316

原创 QT新手日记032

radius:2//总圆角值,当四周不设置时,总设置包括四周,如果每个角的弧度不同时,可分别设置。border.pixelAligned:true//宽度四舍五入到整数像素数。//anchors.bottom:parent.bottom对齐位置。antialiasing:true//用于决定矩形是否使用抗锯齿。bottomLeftRadius:2//左下圆角值。bottomRightRadius:2//右下。topRightRadius:2//右上圆角值。topLeftRadius:2//左上。

2026-01-23 08:13:33 269

原创 QT新手日记 031

horizontalAlignment:Text.AlignHCenter//水平对齐方式,Text.Justify左Text.AlignLeft中Text.AlignHCenter右Text.AlignRight。textFormat:Text.StyledText//或者者Text.PlainText,Text.RichText,Text.AutoText。style:Text.Outline//样式或者Text.Sunken,Text.Raised,Text.Normal。

2026-01-23 07:26:45 530

原创 QT新手日记 030

anchors.centerIn:parent//相对于父控件居中。Qt.quit()//退出程序。title:qsTr("标题栏内容")visible:true//可见性。opacity:0.99//透明度。color:"red"//颜色。text:"退出程序"import QtQuick//引用。width:640 //宽度。height:480//高度。主要是说明window,其他为辅助。QT新手日记 030。

2026-01-23 06:52:59 275

原创 QT新手日记 029 - QT所有模块

Qt 核心功能定义了所有平台上 Qt 的基础。它们适用于所有受支持的开发平台和测试目标平台。除了测试模块(保持源兼容性),这些模块在整个 Qt 6 期间将保持源代码和二进制兼容性。核心模块是通用的,适用于大多数 Qt 应用程序。即使在某些支持平台上可用,用于特定目的的模块也被认为是附加模块。以下表格列出了 Qt 核心功能二进制兼容性保证不适用于 Qt Quick 测试。然而,它将保持源代码兼容性。二进制兼容性保证不适用于 Qt 测试。然而,它将保持源代码兼容性。

2026-01-22 21:15:33 570

原创 QT新手日记028 QT-QML所有类型

G伽玛调整 高斯模糊:QtGraphicalEffects5Compat 高斯模糊:QtQuick3D 地理圆圈 地理编码模型 GeoJson数据 几何体:Qt3D 几何体:QtQuick3D 几何体渲染器 几何视图 地理路径 地理多边形 地理矩形 卫星信息 地理形状 手势事件 发光 古奇材料 渐变 渐变停止 图形API过滤器 图形信息 图形视图 图形主题 重力 三维重力 网格 网格几何体 网格布局 网格网格 网格视图 分组框 组目标 陀螺仪 陀螺仪读数。

2026-01-22 21:13:47 472

原创 QT新手日记027 QT-C++所有类

Q3DBars: QtDataVis3D Q3DBars: QtGraphs Q3DCamera Q3DInputHandler: QtDataVis3D Q3DInputHandler: QtGraphs Q3DLight Q3DObject Q3DScatter: QtDataVis3D Q3DScatter: QtGraphs Q3DScene: QtDataVis3D Q3DScene: QtGraphs Q3DSurface: QtDataVis3D Q3DSurface: QtGraphs Q3

2026-01-22 21:12:38 648

原创 QT新手日记026

在QT世界里,它是不希望有错误出现,所以,他不太会主动的向你抛出异常,更多时时间会以isError()、getLastError等方式方法取得错误信息,当然,它还是向程序员提供了宏引用QT_TRY{……}来捕捉异常,但不一定成功,特别在不同平台,它不一定成功,还有C++带来的try{……但是在指针世界里,很难捕捉到异常,或者说,很难说是有异常,只要系统没有禁用的内存,都能写能访问,可以读写就不算异常,只有对于程序员的程序业务逻辑来说是异常。在pro文件里要加入异常处理的模块,不然默认是禁用异常的。

2026-01-22 20:12:16 230

原创 QT新手日记025 - W002程序代码

五、每日一题内容以Tipinfo[0..n].txt命名的文件放在编译目录下的TipFiles目录下。四、核心程序:wintwo.cpp。完成的界面截图(Deepin系统)一、pro文件:W002.pro。二、头文件:wintwo.h。三、主程序:main.cpp。

2026-01-22 01:02:20 378

原创 QT高阶日记011

这是基本的收发pop3服务器内容的方法。对于整个邮件接收过程。需要按顺利的向服务器连接认证,登录 ,用户名,密码,请求邮清单,循环按序号1..n收件,处理邮件DATA标准内容。使用QTcpSocket实现从POP3服务器查询和收取邮件。QString txt="要发的内容,包括结构化了的内容";RETR n 返回指定邮件的全部文件内容。LIST返回邮件数量和每个邮件的大小。TOP返回邮件前n行内容。+OK 加多少字节的内容。

2026-01-21 19:38:51 498

原创 QT高阶日记010

这是基本的收发SMTP服务器内容的方法。需要按顺利的向服务器问候,登录 ,用户名,密码,发送邮件者,收件者,DATA,标准内容。smtp->connectToHost("SMTP地址",端口号);一是服务器地址:一般是smtp.域名.com,端口一般是25。QString txt="要发的内容,包括结构化了的内容";发送完了以后,请用退出指令完成邮箱发送过程。返回354 提示你结果内容用两个回车换行。250 加多少字节的内容。

2026-01-21 16:53:41 538

原创 QT进阶日记009

现成的串口列表通过QSerialPortInfo::availablePorts()返回一个QList<QSerialPortInfo>sp->setBaudRate(QSerialPort::Baud115200);在连接串口时,主要包括串口号,波特率,数据位,停止位,有无校验等。收内容用信号QSerialPort::readyRead()接收。主要用到QSerialPort类。requestToSend等。

2026-01-20 23:58:44 165

原创 QT高阶日记008

有了这三个类,我们可以向http服务访问请求,返回网页内容,可以通过get方式和post以及put方法与http网页,接口交互。包括read(),readAll()等函数,主要是通过http的finished()信号返回来的。QNetworkReply类也是基于QIODevice类,可以用read()函数读取内容。QNetworkReply类也是基于QIODevice类,可以用read()函数读取内容。http.post(req,"其他要POST信息);主要有get(),put();还要以添加其他头信息。

2026-01-20 23:44:52 181

原创 QT高阶日记007

QByteArray key="1234567890123456"//16位密钥同加密时的key。QByteArray key="1234567890123456"//16位密钥。不同的版本,可能要引用的AES不同。具体看看你的QT版本怎么引用。QString 解密算法(QString ensource)QString 加密算法(QString source)就可以对自己要加密的数据过行加密解决了。

2026-01-20 23:16:51 134

原创 QT高阶日记006

由于MD5是不可逆加密。验证的方式只有一条,用可能的内容加密后与密文比对。MD5加过密的内容是不可逆的。现在看到这里,或者你知道,当你忘记密码时,很多平台都叫你重改密码,而不会帮你找回原密码的原因了吧?在任何一个程序里,加密内容是必不可少了。就算是普通的加密,也能防止60%的人。主要的加密功能,使用了QCryptographicHash类。如果自己不知道原内容。想通过MD5知道Source是不可能的。这个方法对普通文本进行加密,以16进制字串输出加密内容。下面用一个简单的加密算法MD5演示一个内容加密。

2026-01-20 22:34:23 68

原创 QT高阶日记5

/如果连接失败,取最后错误出来看看er.text()/er.type()/er.databaseText()/er.driverText()等得到错误相关的内容。一个程序,一个软件,只要管理的数据量达到一定的数据,或者希望共享数据,那么数据库是一个首选的方案,一个数据库平台运行着数据,向外提供连接请求,查询请求,读写请求,从而实现将数据收纳、管理、吞吐的功能。比如:你取钱的时候,取钱走了。事务主要是进行insert/update/delete等操作要进行事务管理,统一干活,要么全干,要么全不干。

2026-01-20 02:47:35 666

原创 QT进阶日记004

m_play->setSource(QUrl("文件/地/址/file.mp3"));//有mp3,mp4。添加一个标签QLabel,显示总时间长/当前位置时间,laVol。添加播放,暂停,结束,快近,快退,等按钮QPushButton。添加一个进度条QSlider当播放进度条,添加一个当音量条。#include<QAudioOutput>//音频输出设备。#include<QvideoWidget>//视频输出窗口。#include<QMediaPlayer>//播放器类。//关联信号,得到时长变化。

2026-01-19 02:13:56 548

原创 QT高阶日记003

而是帮助我们自定义的信号如myConnection,得到这个发送出来的socketDescriptor信息。这样的话,就算可以把连接者的信息传给子线程,再创建属于子线程内部的QTcpSocket对像来工作。主线程定义的QTcpSocket对象,不能在子线程里使用。我们必须在主线程,把连接描述内容传给子线程,在子线程通过该内容创建一个新的QTcpSocket对像。这个方法在有人连接到服务器的时候,自动被QT框架调用的。我们只要在这个函数里,通过信号的方式把这个socketDescriptor内容发送出去。

2026-01-19 02:08:41 490

原创 QT高阶日记02

包括QJsonValue,QJsonObject,QJsonArray,char,QLatin1String,QString,qint64,int,value.isBool/isArray/isString/isDouble/isObject等等判定数据类型。QJsonValue :: Type type()//反回该JsonValue的类型。json一个元素,包括"key":value,key在同级不能有相同的。QJsonObject,//是一个键值对列表。QJsonArray,//是一个值列表。

2026-01-18 10:40:55 625

原创 QT高阶日记01

在main函数中用qRegisterMetaType<类型>("类型")注册一下这种类型,之后就可以从子线程传送这类型的数据到UI线程了;低Idle/Lowest/Low/Normal/High/Highest/TimeCritical/Inherit高。//判定能不能加入任务,因为要考虑池中有空闲线程可用。//等待时间,默认无限等待。void QThreadPool :: start(QRunnable * 对像,int 优先级);//返回理想线程数据,与CPU核心相同。//清空线程池的任务。

2026-01-18 10:39:55 745

原创 QT新手日记024 - QT001程序代码

程序代码

2026-01-17 00:46:13 1134

原创 QT新手日记23

在包括有编译好的 程序.exe的目录下,进入cmd,执行如下命令。即可生成可以在其他计算机上运行的一套程序。QSound * sound = new QSound(":/res/声音文件.wav",this);结合其他第三方打包程序可以把生成好的一套程序打包成一个setup.exe程序。windeployqt.exe 程序.exe。如果没有停止,播放完了声音文件自动停止。引用加#include<QSound>如果要声音无限循环播放,需要设定。如HM NIS EDIT。

2026-01-17 00:24:33 116

原创 QT新手日记22

this->setWindowIcon(QPixmap("资源图片");this->setWindowTitle("标题");基本功能的Qt就差不多了。其他的细节要多学多用学练。多线程QThread。QPropertyAnimation类。延时之后执行的操作。

2026-01-16 00:11:03 414

原创 QT新手日记21

文件除了内容以外,还有文件信息,也叫文件属性,如创建时间,修改时间,作者,类型,属性等。lastModified//最后修改。isReadable//是否可读。isWritable//是否可写。isDir//是否是一个文件夹。isFile//是否是一个文件。ownerId//文件拥者编号。isHidden//是否隐藏。created//创建日期。lastRead//最后读。suffix//文件后缀名。exists//是否存在。filePath//路径。owner//文件拥有者。size()//文件大小。

2026-01-16 00:10:40 296

原创 QT新手日记20

QString path = QFileDialog :: getOpenFileName(this,"打开文件","C:\\默认\\地址\\");ui->文本控件->setText(array);//自动转换了QByteArray->QString//自动时默认utf8。//如:QIODevice :: ReadOnly。//还有其他的codec->to其他的。file.write(bytearray/QString都可以);ui->文本控件->setText(path);

2026-01-15 13:10:20 158

原创 QT新手日记19

值得一提的是:p.drawEllipse(QPoint,width,height);QImage im(width,height,格式);//改变像素点的颜色值。//this is QWidget类。这时,保存下来的文件的内容会画到界面上来。p.save(filepath,格式);pic1.load("刚保存的文件);二、图片文件类QPixmap创建的图片缓存区。三、QBitmap类创建的图片缓存 区。

2026-01-15 13:10:04 498

国产电脑上的智力浏览《拼音找字-小学语文》

通过显示的拼音,在20个字中找到对的字。

2026-02-12

在国产操作系统上开发的第一个QT程序

#include "qt001.h" #include<QIcon> #include<QMouseEvent> #include<QWidget> #include<QDebug> #include<QLabel> #include<QAction> #include<QStyleFactory> QT001::QT001(QWidget *parent) : QWidget(parent) { //对默认生成的空白窗口进行简单设置 //绑定了标题改变信号 connect(this,&QT001::windowTitleChanged ,this,[=](){ qDebug() <<"修改了标题内容"; }); //改变当前窗口的尺寸 this->resize(1080,600); //设定标题内容 this->setWindowTitle("欢迎使用QT开发程序!"); //设定窗口大小,通常在所有的界面控件布局完毕以后进行。 //创建一个标签 QLabel * lb = new QLabel("",this); //改变标签位置 lb->move(10,10); //改变标签尺寸 lb->resize(this->width()-20,60); //设置标签内文本对齐方式 lb->setAlignment(Qt::AlignCenter | Qt::AlignHCenter); //修改标签字体与大小 lb->setFont(QFont("黑体",30)); //设置标签显示文本内容 lb->setText("欢迎光临QT程序设计演示!"); //通过CSS格式给标签

2026-01-17

Qt开发基于QTimer与系统定时器的多任务时间控制机制解析:定时器事件处理与信号槽应用

内容概要:本文介绍了Qt中两种定时器的使用方法:系统定时器和QTimer定时器类。系统定时器通过重写timerEvent(QTimerEvent *e)函数实现,所有定时器共享同一个事件处理入口,需通过timerId区分不同定时器;而QTimer类则采用信号与槽机制,每个实例独立运行,通过connect连接timeout信号执行相应操作,更加灵活便捷。文章还简要说明了定时器的创建、启动方式以及整型转字符串的方法。; 适合人群:具备C++基础、正在学习或初接触Qt框架的开发人员;适合有一定GUI编程经验但对Qt定时机制不了解的初级开发者。; 使用场景及目标:①掌握Qt中系统定时器与QTimer类的区别及应用场景;②学会在实际项目中根据需求选择合适的定时器实现方式;③理解Qt事件处理机制与信号槽机制在定时任务中的应用。; 阅读建议:建议结合代码实践,尝试分别实现两种定时器,并观察其运行效果与差异;注意理解timerId的作用及信号槽的绑定语法,有助于深入掌握Qt事件驱动模型。

2026-01-13

Qt开发QFileInfo类文件属性操作指南:获取文件创建修改时间、权限及路径信息的常用方法详解

内容概要:本文介绍了Qt中用于获取和操作文件信息的QFileInfo类,详细列举了该类提供的多种常用成员函数,涵盖文件的基本属性(如文件名、路径、后缀)、状态信息(如是否可读、可写、隐藏、存在)、时间戳(如创建时间、最后修改时间)以及权限管理等功能。同时提到QFileInfo支持逻辑比较操作和缓存控制机制,有助于开发者高效地进行文件属性查询与判断。; 适合人群:具备C++基础并初学Qt框架的开发人员,尤其是对文件系统操作感兴趣的初学者;; 使用场景及目标:①在Qt项目中需要获取文件元数据(如大小、路径、权限)时使用QFileInfo类;②实现文件管理器类应用或进行文件状态检测时,利用此类进行文件属性判断与逻辑处理;③通过实际测试掌握各个接口的具体行为,加深对Qt文件操作的理解; 阅读建议:建议结合代码实验逐一验证文中提及的各个函数功能,通过打印输出等方式观察返回值,强化记忆与理解,同时注意区分相似函数(如filePath与canonicalFilePath),并在实际项目中灵活运用。

2026-01-13

Qt开发基于QFile与QFileDialog的文件操作技术:实现文件读写及编码转换的实用方法

内容概要:本文介绍了Qt中文件操作的基本使用方法,重点讲解了QFile和QFileInfo类的应用,以及如何通过QFileDialog实现选择文件对话框。文中详细描述了文件的打开、读取和写入操作,包括使用readAll()一次性读取全部内容和readLine()逐行读取的方式,并强调判断文件结尾atEnd()的重要性。同时,文章指出在处理不同编码格式的文本时需使用合适的字符编码转换方法,如toUtf8()或toUnicode(),避免乱码问题。此外,还演示了如何将获取的文件路径显示在界面控件上,并对文件进行追加写入等操作,最后提醒每次操作后需调用close()关闭文件。; 适合人群:Qt初学者或具备基础C++编程经验、正在学习GUI开发的人员;适合刚接触文件操作的开发者; 使用场景及目标:①实现图形化界面中的文件选择与路径显示功能;②完成文本文件的读写操作并正确处理编码问题;③掌握QFile、QFileDialog等常用类的基本用法; 阅读建议:建议结合代码实例动手实践,重点关注文件读写流程及编码转换细节,在实际项目中注意及时关闭文件资源以避免泄漏。

2026-01-13

【Qt图形编程】基于QPainter的多绘图设备应用:QWidget/QPixmap/QImage/QPicture在图像绘制与保存中的技术实现

内容概要:本文介绍了Qt中多种绘图设备的使用方法,包括QWidget、QPixmap、QBitmap、QImage和QPicture类的基本操作。重点讲解了如何利用QPainter在不同绘图设备上绘制图形,并对图像进行保存与加载。其中,QWidget用于界面直接绘图;QPixmap和QBitmap用于离屏缓冲绘图,后者仅支持单色图像;QImage支持逐像素操作,适用于图像处理;QPicture则可记录绘图指令并回放,实现高效重绘。此外,还简要说明了paintEvent绘图事件的使用方式,以及在事件中通过QImage修改像素值的方法。; 适合人群:具备C++基础,正在学习Qt GUI编程的新手开发者或有一定经验的初学者;; 使用场景及目标:①掌握Qt中各类绘图设备的特点与适用场景;②实现图像的绘制、编辑与保存功能;③理解Qt绘图机制及绘图事件的触发流程; 阅读建议:建议结合代码实践每一种绘图设备的操作,尤其注意QImage的像素级处理和QPicture的绘图指令录制与回放功能,加深对Qt绘图体系的理解。

2026-01-13

【Qt图形编程】基于QPainter的绘图事件处理:GUI界面自定义绘制与刷新机制实现

内容概要:本文介绍了在Qt框架中如何通过绘图事件进行自定义界面绘制,重点讲解了使用QPainter类实现图形、文本、图像等元素的绘制方法。文中详细说明了绘图事件的声明与实现流程,包括头文件引入、函数声明、具体绘制逻辑的编写,并涵盖了画笔(QPen)、画刷(QBrush)的配置与使用,支持线条、椭圆、矩形、文本及像素图的绘制。同时介绍了绘图的高级功能,如抗锯齿渲染、坐标系平移、状态保存与恢复,以及如何通过update()触发界面重绘,确保内容随界面刷新而重新绘制。; 适合人群:具备C++基础,正在学习或初入Qt开发的初级程序员,尤其是对GUI图形绘制感兴趣的开发者;; 使用场景及目标:①掌握Qt中paintEvent的使用机制,实现自定义控件绘制;②理解QPainter在不同绘图设备上的应用;③实现动态图形界面、自定义图表或交互式视觉效果的开发; 阅读建议:学习时应结合Qt开发环境动手实践,尝试修改画笔画刷样式、绘制不同图形,并观察update()与repaint()的区别,深入理解Qt的事件驱动绘图机制。

2026-01-13

Qt开发事件过滤器机制在控件事件拦截与处理中的应用解析

内容概要:本文介绍了Qt中事件过滤器的基本概念和使用方法,通过在控件上安装事件过滤器(installEventFilter),可以在事件到达目标对象前进行拦截和处理。文中说明了事件过滤器的声明方式、重写eventFilter函数的具体实现逻辑,并强调只有当返回值为true时才表示事件被成功过滤并终止传递,否则将继续交由底层处理。此外,文章指出事件过滤器的执行优先级高于控件自身的event()函数,一旦事件被过滤,则不会进入event()函数中处理。最后预告下一期将介绍图形绘制与个性化窗口效果。; 适合人群:Qt初学者或具备基础界面开发经验的程序员;正在学习事件系统机制的开发者;希望深入理解Qt事件处理流程的技术人员。; 使用场景及目标:①掌握Qt事件过滤器的添加与实现过程;②理解事件过滤器与event()函数之间的执行顺序与关系;③实现对特定控件事件的拦截与自定义处理,提升界面交互灵活性。; 阅读建议:建议结合代码实践,手动实现事件过滤器功能,观察不同返回值对事件流的影响,并对比event()函数的行为差异,加深对Qt事件机制的理解。

2026-01-13

Qt开发基于QEvent的鼠标事件处理机制:自定义控件中enterEvent与mouseMoveEvent的实现方法

内容概要:本文介绍了Qt中与鼠标相关的事件处理机制,重点讲解了QEvent类及其在QWidget中的应用。详细说明了enterEvent、leaveEvent、mouseMoveEvent等鼠标事件的使用方法,并强调在自定义控件时需在头文件中声明事件函数,在源文件中实现具体逻辑。通过event()函数可捕获所有事件,并利用类型转换(如static_cast)将通用事件转为特定事件(如QMouseEvent)进行处理。文中还解释了如何获取鼠标坐标位置,包括相对于控件的局部坐标(x()、y())和相对于屏幕的全局坐标(globalX()、globalY()),并指出启用鼠标跟踪需在构造函数中调用setMouseTracking(true)才能持续响应鼠标移动事件。; 适合人群:具备C++和Qt基础,正在学习Qt事件系统的初学者或开发人员;工作1年左右的GUI应用开发者;希望掌握自定义控件事件处理的技术人员; 使用场景及目标:①理解Qt事件系统的基本架构与事件分发机制;②实现自定义控件的鼠标进入、离开、移动等交互功能;③掌握事件类型判断与转换方法,提升界面响应能力; 阅读建议:学习时应结合代码实践,尝试创建自定义控件并重写相关事件函数,调试事件触发流程,深入理解事件传递机制与坐标系统差异。

2026-01-13

Qt开发基于QWidget的自定义控件设计:通过UI提升实现信号槽机制的可视化控件集成方法

内容概要:本文介绍了在Qt中创建自定义控件的完整流程,包括新建QWidget项目、通过“添加文件”方式创建Qt设计师界面类、在设计界面中布局控件,并通过“提升为...”机制将普通QWidget容器替换为自定义控件。文章详细说明了如何在构造函数中添加功能逻辑、连接信号与槽,以及如何在头文件中声明自定义信号和槽,在源文件中实现对应函数。此外,还提到可通过手动添加C++类文件的方式实现更高自由度的控件定制,所有通过UI设计器添加的子控件均可通过ui->访问和操作。; 适合人群:具备Qt基础开发经验,熟悉C++语法和Qt信号槽机制的初学者或中级开发者;适合正在学习Qt界面编程和自定义控件开发的技术人员。; 使用场景及目标:①掌握Qt中“提升为”技术的使用方法,实现可视化界面中的自定义控件集成;②学习如何封装可复用的UI组件,提升界面开发效率;③深入理解Qt Designer与手写代码的结合方式,构建功能完整的自定义控件。; 阅读建议:建议读者结合Qt Creator实际操作,边看步骤边实践,重点理解“提升为”机制的工作原理及ui->对象的作用范围,同时尝试扩展自定义信号与槽的功能,加深对Qt元对象系统的理解。

2026-01-13

Qt开发基于QMainWindow的GUI组件布局与常用控件应用:Qt界面设计基础实践指南

内容概要:本文介绍了QT开发中的基本界面布局和常用控件的使用,重点围绕QMainWindow展开,详细列举了如QLabel(标签)、QPushButton(按钮)、QTextEdit/LineEdit(文本框)、QComboBox(下拉框)、ListWidget(列表框)、QFrame/QWidget(小容器)以及QTableView(二维表)等核心控件,并提到了用于布局管理的横向与纵向弹簧(QHorizontalSpacer/QVerticalSpacer),强调这些控件相较于C#的独特性和在工程应用中的便捷性与丰富性。; 适合人群:刚接触QT的初学者或有一定编程基础的开发人员;熟悉界面开发但希望转向QT平台的技术人员。; 使用场景及目标:①学习QT界面布局的基本结构与控件功能;②掌握常用UI组件在实际项目中的应用方式;③理解QT与C#在控件设计上的差异并适应其开发风格; 阅读建议:建议结合QT开发环境动手实践文中提到的每个控件,通过创建示例项目逐步构建完整的用户界面,加深对布局管理和控件特性的理解。

2026-01-13

Qt开发基于C++的Qt对话框应用指南:模式与非模式窗口及消息交互组件实现

内容概要:本文介绍了在Qt框架中常用的各种对话框的使用方法,重点讲解了模式与非模式窗口的区别及创建方式,并通过代码示例展示了如何使用QDialog实现弹窗。同时详细列举了消息对话框(QMessageBox)的多种类型,包括错误、警告、询问和信息提示,并说明了其返回值类型及可选按钮配置。此外,还简要介绍了颜色、文件、字体、输入、打印等相关系统对话框的调用方式及其返回值,如QColorDialog、QFileDialog、QFontDialog等,帮助开发者快速集成标准UI交互组件。; 适合人群:具备C++基础并正在学习Qt GUI开发的新手程序员,或有一定Qt使用经验但希望深入掌握对话框应用的开发人员。; 使用场景及目标:①在Qt应用程序中实现用户交互式弹窗与消息提示;②正确区分模式与非模式对话框的应用场景;③快速调用系统提供的标准对话框完成颜色选择、文件打开、字体设置等功能; 阅读建议:建议结合代码实例在Qt开发环境中实际运行调试,重点关注信号槽连接、对象生命周期管理(如WA_DeleteOnClose属性)以及不同对话框的返回值处理机制,以加深对Qt事件循环和界面交互逻辑的理解。

2026-01-13

Qt开发基于Qt框架的状态栏与中心部件管理:GUI界面布局设计及资源文件集成方法

内容概要:本文介绍了Qt中状态栏、铆接部件(可停靠窗口)以及中心部件的基本使用方法和相关代码实现。状态栏通过QStatusBar创建并设置,支持添加普通或永久性标签;铆接部件使用QDockWidget实现,可设定停靠区域及允许的停靠位置;中心部件则通过setCentralWidget设置,通常用于放置主要编辑控件如QTextEdit。文中强调“只能有一个”的组件用set方式添加,而“可多个”的组件则用add方式添加。此外,还简要提及了Qt资源文件的添加方式及.ui设计文件的集成,包括自动生成的头文件和setupUi的调用流程。; 适合人群:Qt初学者或具备基础C++编程经验、刚接触GUI开发的研发人员;适合正在学习Qt界面布局与组件管理的开发者; 使用场景及目标:①掌握Qt主窗口各区域(状态栏、停靠区、中心区)的布局管理方法;②理解Qt中UI文件与代码的协同工作机制,为后续复杂界面开发打下基础; 阅读建议:建议结合Qt Creator的可视化设计界面同步实践文中提到的UI文件使用方式,注意区分ui_mainwindow.h与mainwindow.h的作用,并通过调试观察setupUi和delete ui的实际效果。

2026-01-13

Qt开发基于QMainWindow的窗口组件集成与布局管理:菜单栏工具栏状态栏协同设计

内容概要:本文介绍了Qt中QMainWindow的基本组成及其功能模块的使用方法,包括窗口的标题栏、菜单栏、工具栏区域、停靠窗口区域、中心内容区域和状态栏。文章详细讲解了如何创建和操作菜单栏(QMenuBar)、添加菜单项与子菜单项、插入菜单分隔线,以及如何创建和配置工具栏(QToolBar),包括设置工具栏的位置、允许的停靠区域、浮动性和可移动性,并演示了在工具栏中添加动作、分隔符和控件的方法。通过实例说明Qt窗口组件的高度灵活性和可定制性。; 适合人群:具备C++基础并对Qt GUI开发感兴趣的初学者或有一定经验的开发者;适合从事桌面应用程序开发的技术人员。; 使用场景及目标:①学习QMainWindow的整体架构与各组成部分的功能;②掌握菜单栏和工具栏的创建、布局与交互设计;③实现具有完整窗口功能的应用程序界面,如文本编辑器或办公软件界面原型; 阅读建议:建议结合Qt开发环境动手实践文中代码示例,逐步构建完整的主窗口界面,深入理解各组件之间的关系与配置方式,为进一步学习Dock Widget和状态栏等功能打下基础。

2026-01-13

Qt开发信号与槽机制及Lambda表达式应用:多信号槽连接与参数匹配规则解析

内容概要:本文介绍了Qt中信号与槽机制的相关特性,包括一个信号可连接多个槽函数、多个信号可连接同一槽函数、信号与槽的参数类型和顺序需匹配(信号参数可多于槽参数)等规则。同时对比了Qt4与Qt5中信号与槽的连接语法差异,指出Qt5兼容Qt4写法但反之不成立,并强调Qt4写法缺乏类型检查。文章还介绍了Lambda表达式的使用方法,包括C++11配置要求、捕获列表、参数列表、返回值和函数体的语法结构,并通过QPushButton示例展示了如何在信号触发时使用Lambda表达式执行界面操作和发送其他信号,提升了代码简洁性和开发效率。; 适合人群:具备C++基础、正在学习或刚接触Qt框架的初学者;从事Qt开发1年以内的程序员。; 使用场景及目标:①掌握Qt信号与槽的连接规则与参数匹配机制;②理解Qt4与Qt5信号槽语法差异及类型安全优势;③学会在实际开发中使用Lambda表达式简化事件处理逻辑;④提升GUI编程中按钮响应等功能的实现效率。; 阅读建议:此资源以实用为导向,建议结合代码示例在开发环境中动手实践,重点理解信号槽连接规则与Lambda表达式的捕获方式,注意编译器对C++11的支持配置。

2026-01-13

电脑USB摄像头管理程序、C#

1、程序支持所有USB摄像头 2、支持同一个摄像头多个墙位巡视,以提高巡视频率。 3、受到电脑的USB控制器影响,同时实时预览的摄像头个数量不同。具体以实际电脑为准。但巡视功能不受此影响。 4、摄像头默认参数是:640*480*30fps,大的要自行设定对应的视窗DEVICESIZE和FPS属性。

2025-11-03

国培计划-自动更新学时软件

参加国培计划的老师,你是不是因为要学习而不断的在网站上点击更新学习时间的按钮。成天成天点呢? 本软件出炉就是帮你点这个按钮! 收费为一天一元钱,不用的那天不收。 功能,自动学习所以课程,每课程一时间学习50分钟。 有需要的加QQ449026326说明是国培协助

2011-10-13

局域网无纸化办公系统(正式版:服务器1.2/客户端1.6)

功能说明: 1、本系统主要功能就是在局域网之间,通过发布的方式向服务器发送文件(file),客户端定期刷新服务器文件列表并下载列表到客户机上。 2、在客户机的领导批示功能里,定期刷新领导的批示文字,本系统共设置五层领导的批示,直到封档为止。在一个文件上,领导都可以批示文字。同时也可以被已经下载文件列表的客户机用户看见。以达到共享批示文档的功能目的。 3、即时信息在线发送,此功能主要是提醒收文的辅助功能,发文之后,可以通过此功能向在线的用户发送信息以保障接收文件的用户及时收到文件并进行批阅。 4、本软件提供了从服务器更新客户端的功能。在有新版本或者更新部分功能BUG时,不需要一台一台机器去进行客户程序更新。只要做好服务器上update目录和update.ini就可以了!极大的方面客户端更新操作。

2011-03-09

局域网无纸化办公系统完整版1.6

本软件由服务器端和客户端组成,主要实现局域网内办公文件传输和共享以及领导批阅功能。辅助加上在线即时通信功能。达到内部办公文件查阅实现无纸化目的的一套应用软件。   本系统主要功能就是在局域网之间,通过发布的方式向服务器发送文件(file),客户端定期刷新服务器文件列表并下载列表到客户机上。   在客户机的领导批示功能里,定期刷新领导的批示文字,本系统共设置五层领导的批示,直到封档为止。在一个文件上,领导都可以批示文字。同时也可以被已经下载文件列表的客户机用户看见。以达到共享批示文档的功能目的。   即时信息在线发送,此功能主要是提醒收文的辅助功能,发文之后,可以通过此功能向在线的用户发送信息以保障接收文件的用户及时收到文件并进行批阅。   本软件提供了从服务器更新客户端的功能。在有新版本或者更新部分功能BUG时,不需要一台一台机器去进行客户程序更新。只要做好服务器上update目录和update.ini就可以了!极大的方面客户端更新操作。 重要提示:(官方网站上的链接均为防盗连接,可能被一些安全卫士如QQ电脑管家所拦截,请选择“仍然访问”即可。因为是防盗链接,请复制地址到浏览器粘贴即可下载!)

2011-03-21

万能票据套打系统

通过对原票据需填写位置的尺寸测量收集信息,达到可以随意对某票据进行套打工作.如,电汇凭证,单据封面,支票,进账单,报销单等行业统一单据的内容套打.

2018-04-21

局域网无纸化办公系统(最新1.6)

本软件由服务器端和客户端组成,主要实现局域网内办公文件传输和共享以及领导批阅功能。辅助加上在线即时通信功能。达到内部办公文件查阅实现无纸化目的的一套应用软件。

2011-03-09

VHD虚拟硬盘

在VHD文件里构建文件系统,写入读出文件。

2016-07-31

防火墙解决程序禁网

通过浏览目录,文件,将选中的文件通过操作防火墙对期禁网。

2016-09-16

坐标曲线绘图

实时动态的绘制曲线图.源代码

2016-09-17

局域网无纸化办公系统2.0

1.8=>2.0:版本升级主要修正如下功能: 1、增加外网桥接服务功能,此功能可以让外网登录内网的服务器。因为内网由ISP提供商随时更新IP地址,本功能让你的动态IP地址在每次启动服务器时更新到桥接网站数据库中。客户端通过输入桥接的服务器ID和密码进行服务器IP地获取关连接服务器。达到随时可以在外网连接内网的目的。 2、调节服务器吞吐指令的时钟频率,让服务器更稳定的动作。

2011-06-01

局域网无纸化办公系统1.5

在同一个IP段(同个路由器)下的局域网内,可以安装此程序的服务端和客户端后,在局域网内发布和批阅文件。同时支持简单的聊天功能!和文件管理功能。对于有多层楼办公和公司和单位,可能使用此软件免掉多次改稿改文章的上下楼跑的麻烦。这软件为试用共享程序,试用只支持五个连接。注册后可不受限制。

2011-03-08

无纸化办公室

1、软件名称: 无纸化办公室(1.0.0.7) 2、软件性质: 行政办公、文件统一管理、审批流程、超邮收发,文字即时通讯。 3、功能描述: 文件共享互传、文字交流开会、超邮加密收发、公告发布接受、点对点聊天交流等。 4、下载方式: CAB绿色软件包下载,注册码共享注册,从软件自身功能更新版本。 5、共享方式: 注册码共享,QQ售后服务,软件版本自动更新。

2013-11-29

局域网内共享打印机

不用系统共享打印机可以支持远程打印到指定要共印的打印机上局域网内使用.

2017-06-12

空空如也

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

TA关注的人

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