自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 资源 (16)
  • 问答 (23)
  • 收藏
  • 关注

原创 允许Widget接受拖拽的数据

实现向widget中拖拽数据并获取数据的方法。//事件过滤函数处理指针对拖拽的widget。1.首先要给widget设置接受拖拽的属性。2.安装事件过滤器,过滤拖拽事件。//鼠标释放时处理接受解析数据。

2022-08-04 20:32:37 443

原创 qss设置Qwidget后,子类化QWidget后qss无效了

今天用Designer拖一个widget窗口,在上面有控件并用qss设置了背景色,所有控件的样式子类化继承QWidget后,通过setupUi(this) 将刚拖的控件在子类化widget里面创建,封装后,在界面调用,发现看不到设置的背景。通过查找资料需要重载paintEvent void paintEvent(QPaintEvent* event) { Q_UNUSED(event); QStyleOption opt; opt.ini...

2022-04-07 20:21:38 526

原创 QPushButton按钮 背景色渐变效果的qss

QPushButton{border-radius:15px;padding-left:10px;padding-right:10px;color:rgb(255,255,255);min-width:120px;background:qlineargradient(x1:0,x2:1,y1:0,y2:1,stop:0rgb(18,111,237),stop:1rgb(45,147,250));}Q...

2022-01-15 16:24:50 1263

原创 如何在 Qt Designer 中添加资源文件,直接看到效果

打开Qt desiner,在视图,在视图中选择资源浏览器,在弹窗的资源浏览器中就可以添加图片资源

2022-01-15 16:21:58 1123

原创 qss 方式截取序列图

该序列图,是40x36的三张图片拼接而成。从左到右,分别是normal,hover,pressed三种状态。当用qt 写界面程序时,为了使资源目录不到处都是图标,将散的图片拼接成三种状态或四种状态的序列图,此时在项目中使用时,setStyleSheet 处理每个状态获取对应的图表方式如下: //后面四位数字表示截取图片对应的是上右下左,在序列图中,normal中图标在第一个,该图标到它的上边没有图标了,所以第一个数字表示到距离最上边是0,第二个表示右,第一图标到最右边的距离是连个图标的宽度...

2022-01-15 16:17:40 379

原创 获取系统版本信息

#include "stdafx.h"#include <iostream>#include <Windows.h>#include <stdlib.h>#include <string>#include <comdef.h>#include <Wbemidl.h>using namespace std;#pragma comment(lib, "wbemuuid.lib")std::string Wch...

2021-06-18 15:09:44 198 1

原创 QT 阻止窗口放大

在做Qt程序界面开发过程中,测试按组合键win + up 使 界面放大了,为了阻止界面放大,保持原状,此时需要用到PMINMAXINFO:/** Struct pointed to by WM_GETMINMAXINFO lParam*/typedef struct tagMINMAXINFO { POINT ptReserved; //保留参数 POINT ptMaxSize; ...

2021-05-27 10:42:13 833

转载 什么是JSP

JSP 与 PHP,ASP, ASP.NET 类似,是一种运行在web端的语言JSP(全称Java Server Pages)是由 Sun Microsystems 公司倡导和许多公司参与共同创建的一种使软件开发者可以响应客户端请求,而动态生成 HTML、XML 或其他格式文档的Web网页的技术标准。JSP 技术是以 Java 语言作为脚本语言的,JSP 网页为整个服务器端的 Java 库单元提供了一个接口来服务于HTTP的应用程序。JSP文件后缀名为 *.jsp 。JSP开发的WEB应用可以跨平

2021-03-04 23:29:41 824 1

原创 tomcat 是什么

这个软件用来装载你的javaweb程序,可以称它为web容器,你的jsp/servlet程序需要运行在Web容器上,Web容器有很多种,JBoss、WebLogic等等,Tomcat是其中一种。tomcat是一种web服务器,也可以称作运行在服务器(物理意义上的计算机)上的一种软件包。用来对服务器上的HTML文档提供访问权限控制。以上的说法可能太专业化,一时难以理解。其实用通俗的语言来讲,万维网本质上就是“超文本文档”(HTML文档)组成的一个通过超级链接互相访问交互网络。你从甲计算机上的文档A通过超链接

2021-03-04 22:55:30 5935 5

原创 绕过UAC 不弹窗启动程序的方法

https://baijiahao.baidu.com/s?id=1678518589760092233&wfr=spider&for=pc

2020-12-23 18:02:57 1543 1

原创 代码如何实现创建windows计划任务

下面给出一个网址,以便自己方便查找https://blog.csdn.net/atlandis_jl/article/details/12708839

2020-12-17 11:42:58 657

原创 Qt实现界面居中显示,以及顶层显示

///////////////////////////////////////////////////////////////// 屏幕中间显示 QDesktopWidget *pDeskWdg = QApplication::desktop(); QRect rctAvaild = pDeskWdg->availableGeometry(); this->move((rctAvaild.width() - this->width()) / 2, (rctAvail...

2020-10-29 15:12:19 893

原创 如何导出qt 运行环境

Qt程序打包时,需要依赖Qt的一些库,通过命令行:windeployqt.exe 可执行程序路径 就可以将相应依赖的dll拷贝到可执行目录下:如下图:

2020-09-17 19:41:16 379

原创 LordPE 查看程序依赖项的好工具

当程序运行崩溃时,想要查看exe,或dll依赖哪些项,使用lordpe去查看,详细明了,如:1.拖动文件到lordPE里面,弹出一个对话框2.弹出的对话框中选目录3.再在弹出的对话框里选择导人表...

2020-09-17 19:36:16 697

原创 Qt ui_xxxxxx.h 找不到头文件

由于迁移项目,从VS高版本到低版本,环境发生变化导致编译不管,就重现创建了一个项目,就高版本项目的文件拷贝进新项目里,重新编译,发现找不到ui_xxxx.h头文件只需右键属性xxxx.ui,常规|项类型,修改为“自定义生成工具”,展开自定义生成工具,设置:命令行:"$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h"说明:Uic%27ing %(Identity)...输出:\GeneratedFiles\ui_%(Fi..

2020-09-11 18:05:13 3635

原创 QWidget 添加边框阴影

示例代码:WindWMAPI.h#ifndef WINDWMAPI_H#define WINDWMAPI_H#include <windows.h>//********************************************窗口阴影类***************************************typedef struct _MARGINS{ int cxLeftWidth; // width of lef...

2020-09-08 09:39:45 1651

原创 Qt 当文本过长时,超过一定限制,右边以省略的符号显示

m_lbTaskName->setFixedWidth(width() / 2); QFontMetrics metrics(name); QString taskName = metrics.elidedText(QString::fromWCharArray((wchar_t*)m_taskBaseInfo.brszName), Qt::ElideRight, width() / 2 - 30); m_lbTaskName->setText(taskName)...

2020-09-07 19:18:13 1098

原创 QLabel 显示文本,当文本长度超过指定长度时右边省略显示

m_taskNameBarWdg //QLabel标签int showWidth = m_taskNameBarWdg->width() - 140; m_taskNameBarWdg->setTaskValueWidth(showWidth); QFontMetrics metrics(m_taskNameBarWdg->getTaskNameFont()); QString taskName = metrics.elidedText(QString::fr...

2020-07-17 15:48:11 1479

原创 编译链接原理

现在天天用VS做项目开发,其实从源代码到生成一个可执行文件,中间经历了许多步骤,往往我们容易忽略,因为VS IDE帮我们做了编译与链接两个阶段的工作,而编译与链接阶段的合称Build, 而这两个阶段最容易发生错误,所以就得了解它的原理,帮助我们改bug.为什么要把源文件生成可执行文件呢?因为机器只识别0/1代码,而源文件在磁盘上存储,要运行源文件就必须将源文件转化为机器识别的二进制文件,并将转化后的文件载入到内存中才能运行。程序的运行过程分为编译阶段与链接阶段,而编译阶段又分为预编译,编译,汇编。.

2020-07-14 00:14:02 169

原创 VS2013 遇到无法下断点,提示当前无法命中断点,还没有为该文档加载任何符号

按照网上的文档,依然无法解决:https://blog.csdn.net/tr1912/article/details/51111824从网上下载了一个Everything 搜索该函数依赖的库 XXXX.dll 和xxxx.lib,发现程序调了别处存放的一个lib,将多余的lib和dll删掉,VS设置对库依赖路径,重新编译,通过...

2020-06-04 11:08:40 487

原创 C++ 实现获取任意一年一个月中的天数

int GetDaysInEveryMonth(int y, int m){ int d; int day[] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; if (2 == m) { d = (((0 == y % 4) && (0 != y % 100) || (0 == y % 400)) ? 29 : 28); } else { d = day[m - 1]; } return d;}.

2020-05-27 11:23:51 892

原创 VA插件突然不能使用,弹出“The security key for this program currently stored on your system does not appear to ”

第一次安装vs2019,安装VS助手后,运行VS弹出”The security key for this program currently stored on your system does not appear to be valid for th”Windows Registry Editor Version 5.00[HKEY_CURRENT_USER\Software\Licenses]"{R7C0DB872A3F777C0}"=hex:70,d1,fb,66"{K7C0DB872

2020-05-17 01:16:01 477

原创 QDir中的Filter枚举变量 和 QDir中的SortFlag枚举变量

enum QDir::Filter与flags QDir::Filters中常用的枚举变量值及其含义如下:QDir::Dirs 0x001 列出目录;QDir::AllDirs 0x400 列出所有目录,不对目录名进行过滤;QDir::Files 0x002 列出文件;QDir::Drives0x004 列出逻辑驱动器名称,该枚举变量在Linux/Unix中将被忽略;QDir::NoSymLinks 0x008 不列出符号链接;QDir::NoDotAndDotDot 0x1000 不列出...

2020-05-14 15:19:35 1805

原创 QTreeWidget实现的目录树无法按照Windows系统的默认排序那样,有数字时,按数字的值排序

经过测试发现QTreeWidget 的排序是安装字符串比较大小来排序的,而Widows下的排序对于有数字的是按数值大小在排序,这里就重载了QTreeWidgetItem的小于操作符函数.hclass CTreeWidgetItemEx : public QTreeWidgetItem{public: explicit CTreeWidgetItemEx(QTreeWidget *view, int type = Type); CTreeWidgetItemEx(QTreeWi...

2020-05-13 19:02:36 528

原创 用鼠标左键点击QTreeWidget里的项时,水平滚动条会回到最左边的问题

在项目开发中,实现了目录树,当目录名过长,或者展开的项比较多时,此时水平滚动条会出现,若拖动水平滚动条到中间,或最右端,点击QTreeWidget的某项,会导致水平滚动条移动到最左端。解决的方法:首先继承QTreeWidget,重写它,定义两个变量1.在类的头文件声明两个变量 bool m_isItemClicked; int m_horizontalScrollBarPos...

2020-05-12 14:31:56 1167 1

原创 如何隐藏QTreeWidgetItem 的checkbox,且当没有勾选QTreeWidget的子节点时,对话框的Ok按钮禁用,有勾选的,则高亮启用

没有勾选勾选 此电脑,是根节点QTreeWidgetItem,当item->setData(0, Qt::CheckStateRole, QVariant());后就会隐藏checkBoxitem->setCheckState(0, Qt::PartiallyChecked);item->setCheckState(0, Qt::Unchecked)...

2020-05-08 17:21:34 2970

原创 在同一线程即处理界面的UI,又要处理加载对话框的paint事件,去显示正在加载,发现加载对话框显示不出来

在用QTreeWidget实现目录树时,点击目录,逐级展开需要一个加载对话框,表明正在加载数据,此时主线程一直在for循环里添加下一级目录的子节点,导致没有工作线程去执行加载对话框的paintEvent的绘制,就没有加载效果出现。如下程序代码:在for循环里,添加 QCoreApplication::processEvents();//添加处理事件每添加一次节点,就调Q...

2020-05-08 15:29:38 367

原创 delete与 delete []区别

delete只调用一次析构函数,delete[]会调用每一个成员的析构函数。在Effective c++中有更为详细的解释:当delete操作符用于数组时,它为每个数组元素调用析构函数,然后调用 operate delete释放内存。delete 与 new配套,delete[] 与 new[] 配套。MemTest *mTest1=new MemTest[10];MemTest ...

2020-05-08 00:08:48 969

原创 new、delete、malloc、free关系

new,delete是c++的运算符。它们用于申请动态内存和释放内存,对象在创建时会自动执行构造函数,在消亡之前要自动执行析构函数。由于malloc/free是库函数而不是运算符,不在编译器控制权限之内,不能够将执行构造函数和析构函数的任务强行加给malloc/free,因此C++需要一个完成内存分配和和初始化工作的运算符new,以及完成内存清理与释放的操作符delete,注意new/delete...

2020-05-07 23:14:40 597

原创 Qt 处理窗体最大化,最小化的函数

//处理窗体最小化响应函数void CMainWdg::onBtnMin(){ this->showMinimized();}//处理窗体最大化函数void CMainWdg::onBtnMax(){ QWindow * pWindow = windowHandle(); Qt::WindowStates state = windowState();...

2020-05-07 11:39:17 1686

原创 Qt 实现窗体拖到

void CMainWdg::paintEvent(QPaintEvent *event){ QPainter painter(this); //painter.fillRect(1, 0, width() - 2, 30, QColor(29, 39, 52)); //#1d2734 //QPainter pter(this); painter.drawPixm...

2020-05-07 11:25:26 143

原创 Qt 中回调函数的使用方式

.h 文件class CCallBack;//全局对象命名空间namespace GlobalObject{ CCallBack *getCallBackObj(); //获取回调函数对象 extern QWidget* gMainWdg; //主窗口全局对象,可以任意地方调用};class CCallBack : p...

2020-05-07 11:10:40 3396

原创 将Qt 实现的主对话框显示到屏幕中间

CMainWdg mainWdg; //////////////////////////////////////////////////////////////////////////// //屏幕中间显示 QDesktopWidget *pDeskWdg = QApplication::desktop(); QRect rctAvaild = pDeskWdg-&gt...

2020-05-07 11:04:04 1028

原创 项目中遇到QTreeWidget实现的目录树,水平滚动条没有随着展开的内容真多而出现的问题

方法有两种:方法一: m_leftTreeWidget->header()->setHorizontalScrollMode(QAbstractItemView::ScrollPerPixel); m_leftTreeWidget->header()->setSectionResizeMode(0, QHeaderView::Resiz...

2020-04-30 12:27:51 1269

原创 Qt 解决用QLineEdit实现的输入框开始没有光标在闪烁的问题

在项目中遇到new出来QLineEdit在开始时,没有光标在闪烁,此时需要重写QlineEdit代码如下:.h文件class CLineEidt : public QLineEdit{ Q_OBJECTpublic: CLineEidt(QWidget *parent = NULL); ~CLineEidt();protected: virtual...

2020-04-20 10:19:25 5566

原创 QComboBox 美化

在这里记录工作中美化下拉框的qss代码,以便以后忘记,方便自己找到:QStyledItemDelegate* itemDelegate = new QStyledItemDelegate(); QComboBox *comboBox = new QComboBox(); comboBox->setItemDelegate(itemDelegate); comb...

2020-04-20 09:49:21 667

原创 如何使QLabel 加载的gif动态图片使其背景透明,与背景色一致

在做Qt项目时遇到加载Gif动态图片,但QLabel设置的gif图片,背景图无法透明,需要重写QLabel,下面是代码:.h头文件#include <QtWidgets>class CMoviceLabel : public QLabel{ Q_OBJECT;public: CMoviceLabel(QWidget* parent = NULL);pr...

2020-03-31 15:14:52 2742

原创 QTreeWidget 实现自动加载目录以树形结构显示,带checkbox,且item,滚动条用qss美化

写这文章是为了对知识的总结与归纳,以便后面忘了好找,也方便初学者可以找到学习资料#include "TestWidget.h"TestWidget::TestWidget(QWidget *parent) : QMainWindow(parent), ui(new Ui::TestWidgetClass){ ui->setupUi(this); ui-&gt...

2019-11-21 11:39:22 2246 1

原创 大话设计模式--策略模式

策略模式:它定义了算法家族,分别封装起来,让它们之间可以相互替换,此模式让算法的变化,不会影响到使用算法 的客户。商场收银时如何促销,用打折还是返利,其实都是一些算法,用工厂来生成算法对象,这没有错,但算法本身只是一种策略,最重要的是这些算法是随时都有可能相互替换的,这就是变化点,而封装变化点是我们面向对象的一种重要的思维方式。策略模式的解析:策略模式是定义一系列算法的方法,从概率上来看,...

2019-08-03 22:58:22 199

原创 设计模式原则之一:单一职责原则

单一职责原则:就一个类而言,就只有一个引起它变化的原因。我们在编程时,很自然地就给类加各种各样的功能,比如一个窗体应用程序,一般都会生成一个Forml这样的类,于是我们就把各种各样的代码,像某种商业运算的算法,数据库访问的SQL语句呀什么的,都写到这样的类中,这就意味着,无论任何需求要来,你都需要更改这个窗体类,这其实是很糟糕的,维护麻烦,复用不可能,也缺乏灵活性。如果一个类职责过多,就等于把...

2019-05-26 10:54:19 230

VLD 2.5.1最新内存检测工具.zip

提供了VLD 源码,vld2.5.1的最新安装包,可以用于vs2008,vs2010-vs2015,方便需要资源的快速下载

2020-08-17

TestTreeWidget.zip

这是一个用vs2013写的TreeWidget测试程序 带checkbox,选中去掉虚线,滚动条与checkbox,每个widgetItem都是qss美化了的 实现了动态加载一个目录,以树形结构显示

2019-11-21

2005番茄助手与清除注册表工具

当vs番茄助手不可用报The security key for this program currently stored on your system does not appear to be valid for this version of the program。时,可能是试用期已经过了,1.先卸载visual assist 2.开始-运行-regedit-删除HKEY_CURRENT_USER/SOFTWARE/WHOLE TOMATO项 3.右键管理员打开trial-reset, 点击左边第三项(armadillo)向下箭头,选择扫描。 4.扫描完成后,在armadillo处选择清除。 5.重新安装VA成功。

2018-01-26

mysql-5.5.54.tar源码,cmake-2.8.4-win32-x86.exe,bison-2.4.1-setup.exe

mysql-5.5.54.tar源码,cmake-2.8.4-win32-x86.exe,bison-2.4.1-setup.exe等编译mysql所需要的工具与源码,方便开发者快速找到并编译

2017-11-19

Socket实现Http上传文件的代码

该代码实现了对于socket发送http请求上传文件的封装,且上传了一个模拟服务端的php代码,在 test目录,首先需要自己下载PHPStudy安装好,然后将下载下来的资源中test目录的文件复制到php目录下www目录中,启动phpstudy.最好先看下说明文本文档,有简单介绍使用。里面的工程代码是用的VS2005

2017-08-11

Http post\get 发送表单

封装了http发送post,get请求,对于新手也是一个很好的学习参考资料,里面的文档里的网址有介绍post,get发送表单的区别

2017-07-04

Download.rar

支持http开头的网址下载,断点续传,多线程下载,帮助初学者了解学习

2016-12-04

google analytics开发者

对于需要做统计分析的朋友,网上一搜,大多数都是Java和iso的开发SDK,对于做Windows应用的话,需要统计应用的某些功能客户使用的情况等找不到好的接口,这套源码是用C++封装的,里面有参考网址,是我看过的,希望对你有帮助

2016-12-04

openssl-1.0源码

openssl源码编译适用于自己平台的库

2016-02-01

curl-7.46.0.zip源码

libcurl源码,编译适合自己平台的库文件

2016-02-01

libssh2库和头文件

里面包含libssh2.lib和一些头文件

2016-02-01

WinHttpUploadTest

使用Winhttp做的一个简单上传文件的例子,帮助初学者快速掌握

2016-02-01

IOCP详细理解

详细清楚的讲解IOCP本质原理,使初学者少走弯路

2015-07-05

TCP之心跳包理解

让初学者更容易理解心跳包是怎么回事,客户端和服务端是如何处理心跳包的

2015-07-05

进程和线程之间的关系

详细讲解进程和线程之间的区别,方便初学者能更深透的理解

2015-07-05

如何正确使用和创建DLL

详细讲解通过def文件创建DLL,方便初学者能快速掌握使用和创建dll

2015-07-05

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

TA关注的人

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