自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

我是黄同学博客

生活与技术,思想与思考

  • 博客(137)
  • 资源 (25)
  • 收藏
  • 关注

原创 Qt笔记(七十五)之QLineEdit设置QIntValidator范围大小无效的问题

QLineEdit设置QIntValidator范围大小无效的问题

2022-10-24 10:39:45 3378 1

原创 小程序笔记(十一)之实现圆角以及倒圆角

小程序笔记(十一)之实现圆角以及倒圆角

2022-09-14 10:11:40 1544

原创 Qt笔记(七十四)之QLineEdit指定输入类型

QLineEdit指定输入类型

2022-06-29 11:16:13 2818

原创 Qt笔记(七十三)之vs2015+Qt5.9.0配置QCustomPlot

vs2015+Qt5.9.0配置QCustomPlot

2022-06-16 15:33:35 867

原创 QCustomplot笔记(二)之QCustomplot 坐标轴属性设置

QCustomplot 坐标轴属性设置

2022-06-16 10:52:32 6650 2

原创 Qt笔记(七十二)之QDataStream写入多出4个字节解决方式

QDataStream写入多出4个字节解决方式

2022-06-15 17:22:13 1062

原创 QCustomplot笔记(一)之QCustomplot添加数据以及曲线

QCustomplot添加数据以及曲线

2022-06-11 20:23:33 1890 1

原创 小程序笔记(十)之css实现扇形

css实现扇形

2022-06-09 23:16:04 628

原创 Qt笔记(七十一)之QWebSocket传输多文件 进度条显示

QWebSocket传输多文件 进度条显示

2022-06-08 10:21:03 688

原创 Qt笔记(七十)之QWebSocket传输文件 进度条显示

QWebSocket传输文件 进度条显示

2022-06-06 15:13:58 965

原创 opencv笔记(二)之opencv打开笔记本摄像头

opencv打开笔记本摄像头

2022-06-05 18:06:27 1179

原创 Qt笔记(六十九)之QWebSocket传输文件

QWebSocket传输文件

2022-06-05 16:16:14 2739

原创 Qt笔记(六十八)之获取内存信息

一.前言楼主最近在获取电脑设备的一些信息,今天获取了关于内存的信息,于是分享记录下二.获取过程1.使用系统APIGlobalMemoryStatusEx和结构体MEMORYSTATUSEX关于MEMORYSTATUSEX中各个变量的解释typedef struct _MEMORYSTATUSEX { DWORD dwLength; // 结构体的大小 DWORD dwMemoryLoad; // 表示内存使用率,是一个0-100的数字

2022-05-31 14:28:41 2464

原创 Qt笔记(六十七)之获取 计算CPU使用率

一.前言楼主最近在获取电脑设备的一些信息,今天想获取和计算cpu的使用率,于是分享记录下二.核心代码主要是利用了GetSystemTimes这个系统APIvoid getCpu(){ // FILETIME 是一个用两个32位字节表示时间值的结构体 // dwLowDateTime 低位32位时间值。 // dwHighDateTime 高位32位时间值 static FILETIME preidleTime; static FILETIME prekernelTime; stat

2022-05-31 11:11:28 2807 4

原创 Qt笔记(六十六)之Qt下载 配置QCustomplot

一.前言楼主最近发现Qt还有一个可用的第三方图标库,于是就想着下载配置来研究一下二.下载下载链接:官网下载链接然后选择合适的版本下载即可,楼主的Qt是5.9.0,所以选择了当前最新版本V2.1.0几个压缩包的区别QCustomPlot.tar.gz (3.8 MB, Full package contains source, documentation and examples)全压缩包,包括了源码,文档和例子QCustomPlot-sharedlib.tar.gz (2 kB, Cont

2022-05-27 10:43:39 402

原创 Qt笔记(六十五)之获取当前连接的WIFi名称

一.前言上一篇中Qt笔记(六十四)之Qt获取连接过的WiFi密码楼主介绍怎么怎么获取密码,但是要手动输入,于是新的需求就产生了,能不能不能获取当前的连接的WiFi的名称,然后再获取他的密码,这样的使用场景比较多二.实现过程1.基本思路:基于命令netsh wlan show interfaces去获取对应的配置文件数据,然后去解析命令执行结果,获取其中的名称,Qt方面主要是用QProcess2.核心代码 QString cmdStr = "netsh wlan show interfaces";

2022-05-26 11:24:59 1144

原创 Qt笔记(六十四)之Qt获取连接过的WiFi密码

一.前言楼主遇到一个这样的需求,想知道查询连接WiFi的密码,楼主一开始觉得很简单,直接电脑查看不就好了,但是对方说用户对象多数行政文员,并技术人,所以还是要搞个小工具给他们二.实现过程1.基本思路:基于命令netsh wlan去获取对应的WiF名称的的配置文件,然后去解析命令执行结果,获取其中的密码值,Qt方面主要是用QProcess2.核心代码 // 核心命令 QString cmdStr = QString("netsh wlan show profile name=%1 key=c

2022-05-25 14:13:54 650

原创 Qt笔记(六十三)之Qt实现窗口以及控件的全屏效果

一.前言面对大屏操作的时候,经常需要全屏效果查看,楼主也是遇到相关的需求,于是记录分享一下二.全屏实现1.顶级窗口的全屏与恢复,顶级窗口的全屏和回复都很简单,直接调用简单的接口即可void GraphicsViewDemo::on_pushButton_1_clicked(){ showFullScreen();}void GraphicsViewDemo::on_pushButton_2_clicked(){ showNormal();}2.非顶级窗口(子控件)的全

2022-05-24 15:38:33 4532

原创 小程序笔记(九)之console.timeEnd()

一.前言楼主最近在小程序中要测试网络请求的用时,一开始就想着自己写个函数在开始请求的时候获取时间戳,请求结束的时候再获取一次,计算差值就可以得到,然后面发现其实js就提供了这个函数接口,而且用起来很方面二.使用1.描述console.time() 是计时器的起始方法console.timeEnd() 是计时器的结束方法该方法执行后会将执行时长(以毫秒为单位)显示在控制台上两个方式都传入一个字段名,以此来区分多个计时器2.使用2.1单个计时器使用 console.time("循环50

2022-05-21 14:05:24 1455

原创 Qt笔记(六十二)之Qt下载 配置ffmpeg

一.下载ffmpeg官网进入之后,如下选择win下,点击Windows builds from gyan.dev点击左侧的release builds,注意这里是编译的文件可以根据需要下载ffmpeg版本,楼主这里选择的是ffmpeg-5.0.1-full_build-shared,然后等待下载完成即可解压之后内容如下二.配置1.将解压后文件夹中的lib和include拷贝到自己新建的工程目录下2.pro文件配置INCLUDEPATH += $$PWD/includeL

2022-05-20 14:19:36 645

原创 QML笔记(十)之QML获取当前时间戳

一.前言楼主在学习过程中,喜欢打印一些信息,然后都会记录打印的时间,一开始用QML,都不知道怎么获取当前的时间戳,于是记录分享一下二.获取方式1.QML方式 console.log(Qt.formatDateTime(new Date(),"yyyy-MM-dd HH:mm:ss.zzz"))2.js方式(QML调用) function getTime() { return new Date().toISOString(); }3.Qt获取(QML调用

2022-05-18 23:09:07 2744

原创 Qt笔记(六十一)之Qt属性系统Q_PROPERTY

一.前言楼主在学习QML调用C++的过程,接触到这个Q_PROPERTY这个,一开始没有太注意,但是QML要与C++交互,也要依赖Qt提供的属性系统,属性系统比较复杂。楼主只记录的所学习以及认识到的,不全面也不一定全对,于是就想记录分享一下二.Qt属性系统这是Qt 提供的属性系统;它基于元对象系统,通过信号和插槽提供对象间的通信;不依赖于编译器,可以在 Qt 支持的每个平台上使用任何标准 C++ 编译器三.属性例子3.1 Q_PROPERTY(bool enabled READ isEnab

2022-05-18 11:02:41 2508

原创 QML笔记(九)之QML调用C++(1)

一.前言楼主在学习QML过程中,发码QML是可以调用C++,但是形式好像是很多,楼主一开始也没有搞懂很多,先记录分享最简单的调用例子,后续再由浅入深二.调用过程1.新建c++类2.编写简单的,这样函数声明前要加Q_INVOKABLE ,或者声明为public slots,不然会无法调用#ifndef MYOBJECT_H#define MYOBJECT_H#include <QObject>class MyObject : public QObject{ Q_OB

2022-05-16 23:16:20 409

原创 Qt笔记(六十)之Qt实现无边框圆角窗口

一.前言设置无边框窗口之后,就会显示直角的风格,有用户反馈说,看着太锐了,让我给换成圆角,看着舒服一点,楼主一开始想用Qss实现,发现实在不行,后边想着,估计只能用绘图事件来操作了二.实现过程1.实现窗口无边框效果 setWindowFlag(Qt::FramelessWindowHint); setAttribute(Qt::WA_TranslucentBackground);2.重写paintEvent(方式1与方式2的效果是一样的)void ImageListWidget

2022-05-13 14:25:05 3243 5

原创 QML笔记(八)之.pragma library

一.前言楼主在学习QML调用js过程中,用Qt新建了一个js文件,在其中发现了头部.pragma library这个,一开始没在意这个,后续尝试注释了一下,发现了不一样效果,于是做个记录二.区别1.文字描述不加.pragma library:js文件可以直接访问qml中的控件id,从而对控件属性进行操作加.pragma library:js函数无法直接使用控件id,只能在qml调用函数的的时候将id作为参数传入,从而进行操作控件属性2.代码体现2.1不加.pragma library//.p

2022-05-13 09:56:32 622

原创 QML笔记(七)之QML调用js

一.前言在学习QML的过程中,楼主总感觉QML和JS更为洽和,有一种QML的壳,JS是内在的感觉,即是QML负责界面,js负责逻辑,于是就记录一下QML调用js的方式二.调用举例先构建一个测试界面,通过按钮来触发调用1.调用当前qml中的js函数1.1编写js函数2.调用逻辑 Button{ id:btn_1 text: "调用当前中的js函数" font.family: "微软雅黑"

2022-05-12 14:15:07 2095

原创 QML笔记(六)之QML自定义信号的创建与使用

一.前言信号槽是Qt的核心所在,不管是对于QtWidgets还是QML都是,连接自带的信号槽很容易就就比较容易,但有时候自带的信号槽不能满足我们的业务需要,于是就需要自定义信号,在需要的时候扔出,然后处理。自定义信号的使用场景一般都是组件和主页的通信,组件扔出信号,主页处理对应的业务逻辑,楼主该文章主要涉及自定义信号的使用,对于自定义组件不做陈述二.自定义信号的使用整体思路:创建信号->根据需要扔出信号->连接信号->绑定槽函数进行处理1.新建一个myText.qml,用sign

2022-05-11 16:31:53 3200

原创 QML笔记(五)之QML键盘事件

一.前言上篇文章了解了QML的鼠标事件的获取,这篇文章就记录一下获取QML的键盘事件二.键盘事件需要用一个Rectangle转起来,然后必须设施这两个属性 Keys.enabled: true // 不设置按键使能,获取不了按键事件 focus: true // 不设置焦点,获取不了键盘事件1.通用键盘事件Keys.onPressed,可以监测键盘上任意按键的按下,并获取对应的信息,注意event.text只能打印出数字和字母以及部分字符Keys

2022-05-10 17:53:48 2436

原创 QML笔记(四)之QML鼠标事件

一.前言QML的鼠标事件与QtWidgets有些许不同,楼主在学习过程中也感受到了,于是做个记录与分享二.事件分类1.怎么才能捕获鼠标事件呢。QtWidget中就是直接重写鼠标事件接口就可以了,在QML应该怎么去表示呢答曰:QML提供了MouseArea这个来捕获鼠标事件,注意,这个不能单独使用,需要用一个Rectangle装起来,这样就可以获取指定区域内的鼠标事件了Rectangle{ id:mouse_area_rect anchors.centerIn: pa

2022-05-09 17:43:43 3129

原创 QML笔记(三)之QML中的几种布局

一.前言先前了解了QML的添加控件与绑定信号槽,那么控件的摆放就是一个问题,虽然可以手动去设置控件的位置,但是有些时候还是需要自动对齐啥的,这时候就需要用到布局,该篇文章先简单了解QML提供的布局方式,后续再做深入研究二.QML布局方式1.行布局(Row)import QtQuick 2.0import QtQuick.Window 2.0import QtQuick.Controls 2.1Window{ visible: true width: 640 heigh

2022-05-07 17:42:55 2137

原创 Qt笔记(五十九)之Qt使用自定义字体

一.前言楼主在实际开发中,遇到有使用对界面字体要求的需求,有些客户希望用自己的字体,一开始,楼主还是有点懵,但是想到Qt一开始肯定是考虑到这个方式了,于是就去寻找,果然有!!二.设置字体1.使用内置字体,常规的设置方式 QApplication a(argc, argv); QFont font(QStringLiteral("微软雅黑"),13); a.setFont(font); 2.使用定义字体2.1将自定义字体放入资源文件中2.2设置代码

2022-05-07 11:50:26 2305

原创 小程序笔记(八)之wxss实现手机信号图标

一.前言楼主在实际开发过程中,遇到要显示设备信号强度的需求,本来想着用数字来表示,但是对于用户来说,图标相对数字更加直观,一开始打算用图片,做一个简单粗暴的替换,效果是实现了,但是不怎么合理,还是需要样式来实现合理点二.实现过程1.信号强度多数是4-5个垂直条来表示,这里面可以有认为4个view,每个view之间的间距为0,每个view宽度一致,高度递增,但是要怎么限制4个view之间的排列方式,可以在外边再套上一个view,设置他的显示方式为row2.具体代码<view class="si

2022-05-06 17:48:37 603

原创 QML笔记(二)之QML添加控件与绑定信号槽

一.前言虽然采用QML进行开发,但是依旧属于Qt的范围,控件的使用与对应的信号使用仍然是核心,毕竟Qt就是一个界面库,然后他的核心就是信号槽二.添加控件1.QML的控件添加都是以控件名称+属性的方式进行添加的,楼主认为有点像CSS,控件的位置可以利用属性x y进行设置2.举例import QtQuick 2.8import QtQuick.Window 2.2import QtQuick.Controls 2.1import QtQuick.Controls.Material 2.1Wi

2022-05-06 14:04:40 1016

原创 QML笔记(一)之初识QML

一.QMLQML是Qt推出的Qt Quick技术的一部分,是一种新增的简便易学的语言。QML是一种陈述性语言,用来描述一个程序的用户界面:无论是什么样子,以及它如何表现。在QML,一个用户界面被指定为具有属性的对象树。二.建立QML工程1.新建项目,选择Qt Quick Application,然后一直下一步就好了2.项目图3.运行图4.双击该文件,会出现设计器未完待续…...

2022-05-02 22:19:50 978

原创 Qt笔记(五十八)之设置鼠标形状

一.前言楼主在应对最近的客户需求时候,发现了Qt可可以设置鼠标的形状,故此做个记录二.设置方式接口:setCursor文档解释:set the cursor shape for this window1.利用内置的枚举来设置光标形状,例子:// 箭头光标setCursor(Qt::ArrowCursor); 其他枚举值对应的光标形状2.自定义光标形状 QPixmap pixmap; // 光标图片 需要注意注意图片的大小 不然会比较难看 pixmap.load(":/Resou

2022-05-01 15:00:53 2429

原创 小程序笔记(七)之view实现自定义长按时间

一.前言楼主在开发小程序的过程中,遇到这样一个需求,要求长按view才开始某个操作,如果只是这样的需求简单,因为view就提供一个了长按的事件:bindlongpress但是这里的时间由显示,微信默认是350ms,可是客户要求是长按4s才执行先操作,这就有点麻烦了,无法用bindlongpress去实现。二.解决方式1.长按操作,即是从按下到离开,会有一个时间间间隔,只要捕获这两者的时间,然后再计算两者之间的时间差即可自由实现长按多少秒再执行业务操作。以上是解决的思路方向,现在需要捕获两个动作,

2022-04-30 16:21:26 1134

原创 Qt笔记(五十七)之显示图片缩略图

一.前言楼主在实际开发中,遇到这样一个需求,需要加载指定目录下所有图片,并显示其缩略图,一开始以为需要用QLabel去做,自己手动设置大小,没想到可以QListWIdget提供了IconMode这个显示模式,可以轻松做到二.核心代码#include "ImageListWidget.h"#include "ui_ImageListWidget.h"ImageListWidget::ImageListWidget(QWidget *parent) : QWidget(parent),

2022-04-27 17:34:45 2344

原创 Qwt笔记(十一)之设置QwtPlot起始刻度重合参考方式

一.遇到的情况有这样的一个情况,QwtPlot左x轴和底y轴的起始刻度数值是不会重合的,如果起始数值不一样,不重合自然是没有问题的,但是我们一般设置其实数值为0,这个时候我们是希望重合的,因为看起来合理点,楼主研究了下,目前找到一个勉强可行的方式二.方法设置坐标轴之间的间距 for (int axis = 0; axis < QwtPlot::axisCnt; axis++) { ui->qwtPlot_1->plotLayout()->setAli

2022-04-26 09:25:11 836 2

原创 Qt笔记(五十六)之网页调用Activate控件

网页调用Activate控件

2022-04-24 18:14:50 463 2

原创 Qt笔记(五十五)之Qt调用Activate控件

Qt调用Activate控件

2022-04-22 23:11:30 794

QCustomPlot.tar_v2.1.0.zip

QCustomPlot.tar_v2.1.0 里面包含当前V2.1.0的三个类型文件夹 QCustomPlot.tar.gz (3.8 MB, Full package contains source, documentation and examples) 全压缩包,包括了源码,文档和例子 QCustomPlot-sharedlib.tar.gz (2 kB, Contains .pro files for shared library compilation/usage) 只有用于共享库编译/使用的.pro文件 QCustomPlot-source.tar.gz (370 kB, Contains source files only) 只有源码文件

2022-05-27

QML笔记(六)之QML自定义信号的创建与使用-源文件.zip

QML笔记(六)之QML自定义信号的创建与使用-源文件 新建QML工程,导入,然后再main.cpp中加载即可使用

2022-05-11

Qt自定义标题栏源码V1.0

自定义标题栏源码,实现了 1.鼠标左键点击移动 2.最小化 最大化/恢复 关闭程序功能 3.双击鼠标最大化/恢复功能 ********************************************************************************************************** 新建工程,直接导入即可看效果

2022-04-08

QZxing动态库集合 包含mingw32 msvc2015_32 msvc2015_64编译的动态库

QZxing动态库集合 编译环境Qt5.9.0 win10 分别以下编译器编译的 mingw32 msvc2015_32 msvc2015_64 下载后根据配置即可用

2022-03-30

Qt笔记(二十四)之系统托盘QSystemTrayIcon 例子源码

Qt笔记(二十四)之系统托盘QSystemTrayIcon 例子源码 win10 Qt5.9.0 migw32 编译通过

2022-01-17

Qt笔记(二十)之实现窗口定时关闭 源码

Qt笔记(二十)之实现窗口定时关闭 源码 win10 minGw32 编译通过 源码只实现了定时关闭的功能效果和提示,内容可根据需要写接口

2022-01-12

小程序笔记(一)之view多次点击只取最后一次 源码

小程序笔记(一)之view多次点击只取最后一次 源码 把文件放入pages目录下,在app.son里面配置好页面路就可以使用

2022-01-08

Qt笔记(十八)之实现时钟 源码

Qt笔记(十八)之实现时钟 定时器实现 win10 mingw32编译通过

2022-01-07

Qt笔记(十六)之鼠标 键盘事件 源码

Qt笔记(十六)之鼠标 键盘事件 源码 win10 mingw32 编译通过

2022-01-05

Qt之定时器的使用 例程源码

Qt之定时器的使用 例程源码 win10 mingw32 编译通过

2021-12-28

Qt之线程的开始暂停恢复停止 源码

Qt之线程的开始暂停恢复停止 源码 win10 mingw32 编译通过

2021-12-27

Qt之线程的使用(moveToThread方式) 源码

Qt之线程的使用(moveToThread方式) 源码 win10 minGW32 编译通过

2021-12-23

Qt之线程的使用(继承QThread重写run函数) 源码

Qt之线程的使用(继承QThread重写run函数) 源码 win10 minGW32 正常运行 (备注:若是编译出错,点击项目,把Shadowbuild取消掉),照理不会,因为已经成功过了

2021-12-21

Qt之解决QSettings中文乱码问题源码

Qt之解决QSettings中文乱码问题源码,win10,MinGw32编译通过,问题正常解决

2021-12-06

QSettingDemo.zip

Qt之QSettings的使用 例子源码,Qt5 mingGw32编译通过

2021-12-02

ButtonIconText.zip

Qt之按钮左边图标右边文字例子源码,win10,minGw32编译通过,成功实现效果

2021-11-30

Qt之QTextEdit拖拽显示 源码

Qt之QTextEdit拖拽显示 源码 Qt5 minGW32 win实测可运行

2021-11-27

Qt之实现软件重启(一)源代码

Qt之实现软件重启(一)源代码,可直接运行

2021-11-20

Jsoncpp测试demo.rar

Jsoncpp测试demo 可直接编译运行 另外包括x86 和x64 的debug和release版本的lib。均为vs2015编译的

2020-06-27

jsoncpp-0.10.7.rar

jsoncpp-0.10.7源码下载,楼主亲测可以编译,可用

2020-06-27

jsoncpp-master.zip

JsonCpp是一个C ++库,允许处理JSON值,包括在字符串之间进行序列化和反序列化。2020-06-25下载

2020-06-26

自定义类提升例子完整代码

自定义类提升例子完整代码

2020-06-24

CreateAccess.rar

创建Access数据库文件工程完整代码,楼主环境为Qt5+win10 创建Access数据库文件工程完整代码,楼主环境为Qt5+win10 创建Access数据库文件工程完整代码,楼主环境为Qt5+win10

2020-06-21

msado15.dll以及msjro.dll

msado15.dll以及msjro.dll,楼主在Qt5+win10编译生成32位程序实测没有问题

2020-06-21

QTextEdit只接受数字输入工程完整源码

QTextEdit只接受数字输入工程完整源码,包括事件过滤器和重写键盘事件两种实现方式,其中重写键盘事件方式可作为提升控件用,多次使用

2020-06-14

空空如也

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

TA关注的人

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