自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(339)
  • 资源 (8)
  • 收藏
  • 关注

原创 使用windows api屏幕截图(支持多显示器)

【代码】使用windows api屏幕截图(支持多显示器)

2023-09-12 19:54:24 399

原创 word中px,pt,dpi,in,em,twip,emu之间的关系

inch英寸英寸是使用于联合王国(UK,即英国(英联邦)及其前殖民地)的长度单位,英文简写in,1in=2.54cm,12英寸为1英尺,36英寸为1码。英寸的符号为"ptpoint,磅,是一个物理长度单位,指的是72分之一英寸1inch = 72pt,1pt = 1/72inchpxpixel,像素,是一个虚拟长度单位,是计算机系统的数字化图像长度单位,如果px要换算成物理长度,需要指定DPI(Dots Per Inch,每英寸像素数),在扫描打印时一般都有DPI可选。windows

2021-08-11 15:45:14 2909

原创 Qt 获取一个图片中,单条直线指定颜色的宽度(QImage,QRgb)

目录运行效果测试图片代码:dialog.hdialog.cpp运行效果测试图片代码:dialog.h#ifndef DIALOG_H#define DIALOG_H#include <QDialog>namespace Ui {class Dialog;}class Dialog : public QDialog{ Q_OBJECTpublic: explicit Dialog(QWidget *...

2021-07-30 15:29:36 481

原创 Qt QWebEngineView加载百度地图,根据经纬度或位置刷新

1.首先需要在百度地图开发者页面注册并获取密钥打开百度地图开发平台:http://lbsyun.baidu.com/ 登录百度账户 点击控制台,打开控制台页面 在控制台页面,创建应用5.白名单输入*6.提交之后就可以看到密钥了2.使用密钥获取html并显示<!DOCTYPE html><html><head> <meta name="viewport" content="initial-sacale=1.

2021-03-26 17:50:20 2390 2

原创 Qt jet颜色条

LColorMap 类说明:jet颜色条,一共由343个颜色块。开放的接口有:void setMinMax(double min,double max);// 设置最大值和最小值QColor getColor(double value);// 根据传入的值(介于最大值和最小值之间),获取颜色注意事项:这个LColorMap 的高度不能小于343 + 20源码:LCOLORMAP_H#ifndef LCOLORMAP_H#define LCOLORMAP_H...

2021-03-24 14:26:03 2821

原创 Qt 画一个时钟

源码:lclock.h#ifndef LCLOCK_H#define LCLOCK_H#include <QWidget>#include <QTime>class LClock : public QWidget{ Q_OBJECTpublic: explicit LClock(QWidget *parent = nullptr);protected: void paintEvent(QPaintEvent* event) ov..

2021-03-18 14:30:20 221

原创 快乐数的计算,使用哈希set

这道题是letcode上的一道题:https://leetcode-cn.com/leetbook/read/hash-table/xh1k9i/编写一个算法来判断一个数 n 是不是快乐数。「快乐数」定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。如果 可以变为1,那么这个数就是快乐数。如果 n 是快乐数就返回 true ;不是,则返回 false 。示例 1:输入:19输出...

2021-02-26 16:32:03 145

原创 C++ 内存地址以及成员变量的访问

文档:C++ 内存地址以及成员变量的访问.note链接:http://note.youdao.com/noteshare?id=95ca5300ea7857c988f4ea746954678f&sub=CD49B4832609463780DECDA8C539E8F9

2020-12-21 11:37:16 308

原创 Qt 自定义正常异常值进度条

设置标题,当前值,标准值,然后显示:如果当前值>标准值,则显示红色。否则显示蓝色airprogress.uiairprogress.h#ifndef AIRPROGRESS_H#define AIRPROGRESS_H#include <QWidget>namespace Ui {class AirProgress;}class AirProgress : public QWidget{ Q_OBJECTpublic: ..

2020-11-25 15:27:51 204

原创 Qt 的启动界面

启动界面加进度条MySplashScreen.h#ifndef MYSPLASHSCREEN_H#define MYSPLASHSCREEN_H#include <QObject>#include <QSplashScreen>#include <QProgressBar>class MySplashScreen : public QSplashScreen{ Q_OBJECTprivate: QProgressBar *pro.

2020-11-09 10:10:28 244

原创 Qt 设置窗口背景图片随大小变化

方法1:使用样式表setStyleSheet("QMainWindow {border-image:url(:/images/1.jpg);}");方法2:重载paintEventvoid MainWindow::paintEvent(QPaintEvent *e){QPainter painter(this);painter.drawPixmap(0,0,this->width(),this->height(),QPixmap(":/images/1.jpg")).

2020-10-30 16:44:19 3271

原创 QT 线程、日志、单例模式

在线程写日志,线程支持单例模式写日志:日志目录默认为程序目录下,”log/$DateTime“,其中$DateTime为当前日期字符串,如./log/2020-09-17/file1.txt清除日志:可以清除指定天数之前的日志目录,比如删除2020-09-17十天前的日志,就会将2020-09-07之前的目录全部删除掉。使用时,绑定信号槽即可。日志信息格式:2020-09-17 15:45:26.325 info: 临兵斗者,且阵列在前!写日志分成三种级别:info、warning、er

2020-09-17 15:49:07 716 1

原创 QTcpServer 管理断开连接的客户端的两种方法

在接收连接时,关联disconneted信号,这个信号没有参数,我们可以使用sender()获取信号发送者,也就是客户端socket,这样我们就知道哪个客户端和我们断开连接了。// 接收连接void TcpServer::onAccept(){ QTcpSocket* pQTcpSocket = qtcpServer->nextPendingConnection(); if (pQTcpSocket==nullptr) return; conne.

2020-09-16 10:39:12 5504

转载 计算机中加法的实现

https://segmentfault.com/a/1190000011317502

2020-07-08 14:13:09 329

原创 计算机系统结构和C程序编译过程

总线:贯穿整个系统的是一组电子管道,称作总线,它携带信息字节并负责在各个部件间传递。总线传送定长字节快,成为字,字长常见有4字节(32位)和8字节(64位) I/O设备:是系统与外部世界的联系通道。包括鼠标、键盘、显示器、磁盘、显卡、网卡、扩展槽等。每个I/O设备都通过一个控制器或适配器与I/O总线相连。 主存:是一个临时存储设备,在处理执行程序时,用来存放程序和程序处理的数据。 处理器:中央处理单元,简称处理器,是解释或执行存储在主存中指令的引擎。处理器的核心是一个大小为一个字的存储...

2020-07-08 09:10:08 266

原创 C++内存探究

我首先写了一个example1#include <stdio.h>int sum;//全局变量const double pi = 3.14;//静态全局变量// 函数int add(int a, int b){ printf("add.a:0x%0x,add.b:0x%0x\n",&a,&b);//函数内的局部变量 int c = a + b; printf("add.c:0x%0x\n",&c); return a + b;}int ma

2020-07-07 16:09:29 571

原创 Python 脚本带参数

如果想对python脚本传参数,python中对应的argc, argv(c语言的命令行参数)是什么呢?需要模块:sys参数个数:len(sys.argv)脚本名: sys.argv[0]参数1: sys.argv[1]参数2: sys.argv[2]test.py:import sysprint("脚本名",sys.argv[0])for i in range(1,len(sys.argv)): print("参数",str(i),sys.a...

2020-06-16 15:54:12 2229

原创 Python 爬取周杰伦歌曲信息,爬取豆瓣top250的电影,并保存至excel中

使用requests、BeautifulSoup模块,在网上爬取信息。有的网页可以直接爬取到,有些则需要分步加载,这时就需要使用network进行分析找到信息对应的请求。有的会反爬虫,则需要添加headers信息,user-agent会存放访问网站的浏览器,我们需要伪装成浏览器进行爬取。有时候返回的信息是个json文件,则需要将json转换成dict字典。1.爬取周杰伦歌曲示例1:需要用到request headers,network,query string parameters,jso.

2020-05-29 14:05:23 903

原创 Python 读写csv,读写excel

正在上传…重新上传取消正在上传…重新上传取消正在上传…重新上传取消正在上传…重新上传取消正在上传…重新上传取消正在上传…重新上传取消正在上传…重新上传取消正在上传…重新上传取消正在上传…重新上传取消正在上传…重新上传取消正在上传…重新上传取消正在上传…重新上传取消示例1:csv文件的写入importcsv #引用csv模块 csv_file=open('demo.csv','w',newline='') #调用open()函数打开csv文件,传入参数:文件名“demo....

2020-05-29 13:53:05 508

原创 python 生成动态二维码

首先安装myqr,在终端中输入:pip install myqr,由于python官网被墙,可能需要翻墙才能安装示例1:fromMyQRimportmyqr myqr.run(words='https://baidu.com')运算结果:qrcode.png示例2:生成彩色动图二维码from MyQR import myqrmyqr.run( words = 'http://weixin.qq.com/r/kzlje9TEE4lsrZAY92yB'...

2020-05-15 10:43:25 420

原创 Python 发邮件

示例代码:# smtplib 用于邮件的发信动作import smtplibfrom email.mime.text import MIMEText # 内容形式为纯文本、HTML页面from email.header import Header#from email.mime.image import MIMEImage # 内容形式为图片#from email.mime.multipart import MIMEMultipart # 多形式组合,可包含文本和附件# 发信方

2020-05-15 09:21:10 223

转载 C++ 避免线程死锁

死锁:多个线程因争夺资源而产生相互等待的现象。产生条件:互斥 占有并等待 不可抢占 循环等待危害:当以上四个条件满足时,必然会造成死锁。发生死锁的进程无法进行下去,它所占有的资源也无法释放。避免死锁主要有 3种方式加锁顺序 加锁时限 死锁检测加锁顺序一个线程如果要获取多个锁,必须按照一定的顺序去获取,比如要获取A B C 三把锁,我们规定,必须获取到了 AB 两把锁...

2020-04-21 10:41:41 726

转载 C++ 单元测试(转)

什么是单元测试单元测试是软件开发过程中的一种质量保证手段。最初的来源是想模仿对硬件芯片做单元测试那样,在软件中也能对小的软件单元进行测试,从而保证软件中某个局部设计的正确性。传统的单元测试定义传统软件单元测试将被测单元的粒度规定为软件中最小的功能模块。对于C语言通常指一个函数,对于Java或者C++语言通常指一个类。传统做法是针对被测单元的实现细节进行各种白盒测试,即针对被测代码的...

2020-04-20 16:40:24 2105

原创 C++ 面试题,单向链表只知道当前节点,怎么快速删除该节点

p是当前节点,q是p的下一节点,快速删除当前节点p?q= p->next;p->data = q->data;p->next=q->next;delete q;

2020-04-10 14:02:28 401

原创 C++ 设计模式:外观模式

外观模式外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。这种模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用。介绍意图:为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更...

2020-04-09 17:39:35 190

原创 C++ 设计模式:装饰器模式

装饰器模式装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。我们通过下面的实例来演示装饰器模式的用法。其中,我们将把一个形状装饰上不同的颜色,同时又不改变形状类。介绍意图...

2020-04-09 16:08:01 359

原创 C++ 设计模式:组合模式

组合模式组合模式(Composite Pattern),又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象,用来表示部分以及整体层次。这种类型的设计模式属于结构型模式,它创建了对象组的树形结构。这种模式创建了一个包含自己对象组的类。该类提供了修改相同对象组的方式。我们通过下面的实例来演示组合模式的用法。实例演示了一个组织中员工的层次结构。介绍...

2020-04-09 14:33:53 186

原创 C++ 设计模式:过滤器模式

过滤器模式过滤器模式(Filter Pattern)或标准模式(Criteria Pattern)是一种设计模式,这种模式允许开发人员使用不同的标准来过滤一组对象,通过逻辑运算以解耦的方式把它们连接起来。这种类型的设计模式属于结构型模式,它结合多个标准来获得单一标准。实现我们将创建一个Person对象、Criteria接口和实现了该接口的实体类,来过滤Person对象的...

2020-04-09 13:35:53 1525 1

原创 C++ 设计模式:桥接模式

桥接模式桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化。这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。这种模式涉及到一个作为桥接的接口,使得实体类的功能独立于接口实现类。这两种类型的类可被结构化改变而互不影响。我们通过下面的实例来演示桥接模式(Bridge Pattern)的用法。其中,可以使用相同的抽象类方法但是不同...

2020-04-09 09:57:08 156

原创 C++ 设计模式:MVC模式

MVC 模式MVC 模式代表 Model-View-Controller(模型-视图-控制器) 模式。这种模式用于应用程序的分层开发。Model(模型)- 模型代表一个存取数据的对象或 JAVA POJO。它也可以带有逻辑,在数据变化时更新控制器。 View(视图)- 视图代表模型包含的数据的可视化。 Controller(控制器)- 控制器作用于模型和视图上。它控制数据流向模型...

2020-04-08 17:33:24 4182 1

原创 C++ 设计模式:观察者模式

观察者模式当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知它的依赖对象。观察者模式属于行为型模式。主要解决:一个对象状态改变给其他对象通知的问题,而且要考虑到易用和低耦合,保证高度的协作。示例代码:subject.h#pragma once#include <list>using na...

2020-04-08 16:45:52 110

原创 C++ 设计模式:适配器模式

适配器模式适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能。举个真实的例子,读卡器是作为内存卡和笔记本之间的适配器。您将内存卡插入读卡器,再将读卡器插入笔记本,这样就可以通过笔记本来读取内存卡。我们通过下面的实例来演示适配器模式的使...

2020-04-08 15:11:13 177

原创 C++ 设计模式:原型模式

原型模式原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建对象的代价比较大时,则采用这种模式。例如,一个对象需要在一个高代价的数据库操作之后被创建。我们可以缓存该对象,在下一个请求时返回它的克隆,在需要的时候更新数据库,...

2020-04-08 14:03:43 382

原创 C++ 设计模式:建造者模式

建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。一个 Builder 类会一步一步构造最终的对象。该 Builder 类是独立于其他对象的。介绍意图:将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。主要解决:主要解决在软件系统中,有时候面临着"一个复杂...

2020-04-08 11:39:13 172

原创 C++ 设计模式:单例模式

单例模式(singleleton pattern)这种模式涉及到一个单一的类,该类负责自己对象的创建,同时确保只有一个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。注意:1、单例类只能有一个实例。 2、单例类必须自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例。介绍 意图:保证一个类仅有一个实例,并提供一个访问它的全...

2020-04-03 14:27:42 190

原创 C++ 设计模式:抽象工厂模式

抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂的模式。这个超级工厂又称为工厂的工厂。介绍意图:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。主要解决:主要解决接口选择的问题。何时使用:系统的产品有多于一个的产品族,而系统只消费其中某一族的产品。如何解决:在一个产品族里面,定义多个产品。关键代码:在一个工厂...

2020-04-03 13:39:31 190

原创 C++ 设计模式:工厂模式

工厂模式(Factory Pattern)是最常用的设计模式之一,属于创建型模式,他提供了一种创建对象的最佳方式。工厂模式,我们在创建对象时,不会暴露创建逻辑,并且是通过调用统一的接口来指向新创建的对象。何时使用:我们计划在不同条件下创建不同的对象。代码示例:// Shape.h#pragma onceclass Shape{public: Shap...

2020-04-01 16:34:16 156

原创 C 读取一个文件,按行读取,逗号分隔、去除前后空格,字符串转double,然后保存在两个vector中

DataProc.h#pragma once#include <vector>using namespace std;class CDataProc{public: CDataProc(); ~CDataProc();public: bool readDptFile(const char* In_FilePath, vector<double> &a...

2020-03-23 11:05:40 574

转载 vs coredump

转载:https://blog.csdn.net/tojohnonly/article/details/72845022Dump 文件是进程的内存镜像 , 可以把程序的执行状态通过调试器保存到dump文件中 ; Dump 文件是用来给驱动程序编写人员调试驱动程序用的 , 这种文件必须用专用工具软件打开 , 比如使用 WinDbg , VisualStudio 打开 ;当我们的程序发布出去之...

2020-03-23 08:45:41 307

原创 C++11 std::function和bind

std::function是可调用对象的包装器,它最重要的功能是实现延时调用:// threadTest.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <iostream>#include <functional>using namespace std;void func(void){ cout ...

2020-03-16 09:26:39 96

nsis-3.04-setup.rar

nsis-3.0.4-setup.rar安装盘下载,

2019-09-05

dlltest.rar

Qt 创建共享动态库,使用共享动态库。一个简单的例子。使用Qt 5.7.1

2019-08-21

ProcessMonitor(1)

rocess Monitor是Windows的高级监视工具,可显示实时文件系统,注册表和进程/线程活动。它结合了两个传统Sysinternals实用程序Filemon和 Regmon的功能,并添加了大量增强功能,包括丰富和非破坏性过滤,全面的事件属性,如会话ID和用户名,可靠的流程信息,带有集成符号支持的完整线程堆栈对于每个操作,同时记录到文件等等。其独特的强大功能将使Process Monitor成为系统故障排除和恶意软件搜索工具包的核心实用程序。 总体来说,Process Monitor相当于Filemon+Regmon,其中的Filemon专门用来监视系统 中的任何文件操作过程,而Regmon用来监视注册表的读写操作过程。 有了Process Monitor,使用者就可以对系统中的任何文件和 注册表操作同时进行监视和记录,通过注册表和文件读写的变化, 对于帮助诊断系统故障或是发现恶意软件、病毒或木马来说,非常 有用。 这是一个高级的 Windows 系统和应用程序监视工具,由优秀的 Sysinternals 开发,并且目前已并入微软旗下,可靠性自不用说。

2019-04-15

Tinyxml2Example.zip

tinyxml2的使用例子;

2019-03-25

duilib开机引导页

duilib开机引导页,用于软件初次启动展示新功能。 duilib开机引导页,用于软件初次启动展示新功能。 duilib开机引导页,用于软件初次启动展示新功能。

2019-03-12

duilib按钮显示动画

duilib按钮显示动画

2019-03-08

DuiLib_Ultimate 加载资源文件三种方法.zip

duilib提供了4种加载资源的方式 1.直接读取xml文件 2.读取zip资源压缩包 3.读rc资源 4.读dll中的rc资源

2019-03-06

DuiLib_Ultimate加载资源.zip

DuiLib_Ultimate加载资源的三种方法 duilib提供了4种加载资源的方式 1.直接读取xml文件 2.读取zip资源压缩包 3.读rc资源 4.读dll中的rc资源

2019-03-06

空空如也

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

TA关注的人

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