自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

tormi21c的博客

少壮不努力,老大徒伤悲

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

原创 Qt去掉自带边框后实现窗口拉伸缩放

一.背景描述在实际开发当中,很少会直接用Qt自带的边框,经常是去掉自带的边框,然后重新使用部件+图片来构建带有企业产品性质的边框。去掉了Qt自带的边框后,随之也去掉了自带的窗口拉伸缩放功能,这就导致了在产品使用过程中失去了一定了灵活性。为此,需要我们重新实现该功能。二.实现原理从Qt原生边框中自带的拉伸缩放功能使用中,我们可以大概猜测到基本的实现原理,就是当鼠标靠近四边、四个角时,会对鼠标的形状进行改变,如果此时按下鼠标左键并进行拖动,那么就会...

2022-05-20 20:00:00 5408 6

原创 QTableWiddget实现复选框和自定义编辑功能

目录一.背景描述二.实现概述三.具体实现3.1 QTableWidget复选框功能实现:3.2 可编辑功能实现四.完整项目下载一.背景描述在日常的开发当中,可能会在原生的QTableWidget加上一些针对产品的特殊功能,例如想要实现在表格里既可以勾选,也可以编辑的功能,如图(1)所示:当然QTableWidget本身便自带复选框可编辑功能,为什么要多此一举呢?确实,QTableWidget自带的setEditTriggers接口便可实现可...

2022-04-17 13:46:45 4479

原创 QScrollArea导致父部件捕获不到鼠标移动事件

解决父窗口在QScrollArea区域内获取不到鼠标移动事件

2022-04-01 20:18:18 713 1

原创 Qt 之Alt+滚轮缩放无响应

记录Qt使用的坑

2022-03-18 09:55:15 634

原创 QT在线安装的那些坑

1.QT在线安装时容易出现界面未响应问题在打开Qt在线安装工具时需以管理员身份打开。2.在线安装慢因为默认用的是国外下载源,可切换成国内下载源,例如可用以下几个:中国科学技术大学:http://mirrors.ustc.edu.cn/qtproject/online/qtsdkrepository/windows_x86/root/qt/北京理工大学:http://mirror.bit.edu.cn/qtproject/online/qtsdkrepository/windows_x86

2021-05-23 01:35:45 8172

原创 C++之获取string字符串长度的方法

C++中获取string字符串长度的方法主要有3种:使用length()成员方法获取; 使用size()成员方法获取; 使用strlen()函数获取。1.使用length()成员方法进行获取string str = "abcde";int len = str.length();2.使用size()成员方法进行获取string str = "abcde";int len = str.size();3.使用strlen()函数获取string str = "abcde";

2021-04-27 21:31:12 4337

原创 C++之变量初始化顺序

C++中变量的初始化顺序如下:1.基类的静态变量或全局变量; 2.派生类的静态变量或全局变量; 3.基类的成员变量; 4.派生类的成员变量;类成员变量初始化时注意事项:类成员在定义时不能初始化; 类中const成员常量必须在构造函数初始化列表中初始化; 类中static成员变量,必须在类外初始化; 成员变量在使用初始化列表初始化时,与构造函数中初始化成员列表的顺序无关,只与定义成员变量的顺序有关; 成员变量在构造函数中初始化时,成员变量在构造函数中的顺序有关。...

2021-04-27 21:20:13 598

原创 C++之delete与 delete []区别

delete只会调用一次析构函数,而delete[]会调用每一个元素的析构函数。delete与new配套使用,delete[]与new[]配套使用。

2021-04-27 11:32:44 70

原创 C++存储区

C++存储区主要分为五大类型:全局变量与静态变量区、常量区、局部变量区(栈)、动态存储区(堆)、自由存储区1.全局变量与静态变量区存放全局变量、静态变量,程序运行结束后释放。2.常量区存放常量,不允许修改。3.栈存放局部变量、函数参数。由编译器控制,自动分配和释放。4.堆malloc/free在堆存储区上申请和释放内存,由人控制。5.自由存储区用于new/delete/delete [] 在自由存储区(是一种概念抽象,具体取决于底层实现,一般也是由malloc/fre

2021-04-27 11:27:54 700

原创 C++之new和malloc的异同

1.相同点new和malloc都用于申请申请动态内存。2.相异点2.1 申请和释放配套使用new进行动态内存申请时,配套使用delete进行释放;使用malloc进行动态内存申请时,配套使用free进行释放,进行malloc时。2.2 属性new/delete是C++关键字,需要编译器支持;malloc/free是库函数,需要头文件支持,即需包含<stdlib.h>。2.3 申请失败new申请动态内存失败时,会抛出bac_alloc异常;malloc.

2021-04-27 11:16:14 478

原创 C++之实现strlen获取字符串长度

int Strlen(const char * str){ const char * s = str; while (*s != '\0') { ++s; } return (s - str);}

2021-04-26 22:01:37 428

原创 C++之不使用库函数实现strcpy

C++之不使用库函数实现strcpychar * strcpy(char * dest, const char * src){ if (dest == nullptr || src == nullptr) { return nullptr; } while ((*dest++ = *src++) != '\0') { NULL; } return dest;}返回值为char *是为了实现链式表达式。...

2021-04-24 01:01:06 287

原创 C++之实现string构造、析构、拷贝、赋值

C++之实现string构造、析构、赋值String类定义如下:class String{public: //普通构造函数 String(const char *str = nullptr); //拷贝构造函数 String(const String& other); //析构函数 ~String(); //赋值运算符重载 String& operator= (const String& other);private: char * _data;

2021-04-24 00:40:21 283

原创 VS Code + PlantUML搭建UML编写环境

1.VS Code安装VS Code是微软的一款轻量级编辑器,甚至可以算的上一款轻量级的IDE,支持大量的插件工具,除了可以用来写代码外,用来写各种技术文档也是极为方便。VS code 下载地址:https://code.visualstudio.com/VS code 安装没什么比较复杂的步骤,直接小白式安装,不想自定义一下配置的话一直下一步到结束即可。2.PlantUML安装PlantUML不需要额外进行下载安装,可在VS Code的扩展市场中直接搜索进行安装。Ctrl+Shif

2020-10-10 20:26:41 1643

原创 C++获取系统错误代码以及相应的错误信息

通常在调用Win32API失败时,可通过调用GetLastError()函数获取错误代码,然后根据错误代码可以查到调用失败的原因。其函数原型如下:DWORD WINAPI GetLastError(VOID);通过该函数获取的仅仅是错误代码,想要知道具体原因还需要查找该返回错误码所对应的错误信息。当然,也可以进一步通过调用FormatMessage函数获取相应的错误信息,其函数原型如...

2019-10-02 00:24:48 2373

原创 C/C++之目录创建

在日常开发中进行目录的判断以及创建可以说的上是家常便饭了,在进行一层目录 的创建比较简单,直接调用CreateDirectory即可实现。在VS中点击F12即可看到其定义如下:#ifdef UNICODE#define CreateDirectory CreateDirectoryW#else#define CreateDirectory CreateDirectoryA可以...

2019-09-29 22:27:59 1431

原创 Python之字符串

在 Python 中,用引号(单引号/双引号)括起的都是字符串,如:"This is a string"'This is also a string'修改字符串大小写的方法1.将每个单词的首字母都改为大写:title()str = "hello worold"print(str.title()) #这里输出:Hello Worldprint(str) ...

2019-06-18 21:38:57 94

原创 异常关机后重启VS2010恢复修改过的文件变成乱码或者空白时解决方法

前天,博主遇到了个挺刺激的事,就是笔记本的电源不知道什么时候断开了,导致突然关机了,后面新加的代码都没来的及保存。重新开机后,打开VS,弹出了问是否恢复之前修改过了文档,心想着以前使用这个恢复功能都没啥问题那就恢复吧,然而,恢复后重新打开那些文档,竟然变成空白的了,而且打开时还是自动的选择用记事本打开,我的天哪,当时整个人都差点吓呆了,后面通过以下方法得以恢复。在以下路径中可以找到VS异常...

2019-05-12 23:25:20 3844

原创 基于VS2010 开发的Release版本软件异常崩溃后快速定位bug相关方法

方法:使用.map以及.cod定位bug(暴力崩溃) 使用.dmp定位bug(优雅崩溃)注意事项:在最后面^_^。完整项目源码请点击这里!一.使用.map以及.cod定位bug(暴力崩溃)首先介绍在软件异常崩溃后如何使用.map以及.cod定位bug。需要进行的工程项目属性配置:xxx属性->配置属性->C/C++->输出文件->汇编程序输...

2019-03-10 15:58:51 2095

原创 导入numpy出错处理

在安装PyCharm前已经安装过anaconda了,但在PyCharm中调用numpy却会报错No module named 'numpy'这是因为在PyCharm中使用的是之前最初安装的那个单纯的Python,并没有使用Anaconda中的Python。因此只需PyCharm的settings中设置一下Interpreter就可以了。1.File -&gt;Settings...-&gt;Pro...

2018-03-23 21:14:31 2735

原创 Python中import与from……import的使用

在 python 是用 import 或者 from...import 来导入相应的模块。将整个模块(somemodule)导入,格式为:import somemodule如:import threadingimport randomimport time从某个模块中导入某个函数,格式为:  from somemodule import somefunction如:from queue imp...

2018-03-23 17:32:21 1665

转载 Python 初学者最容易犯的几个错误。

Python 初学者最容易犯的几个错误,排名不分前后。1、自己写的模块名字和标准库或第三方库重名,造成的错误。请看这个提问者就是犯了这个错误https://www.zhihu.com/question/48633677/answer/111865674?group_id=7385333679175884802、将不带返回值的函数或方法的结果(准确来说返回值为None) 赋给一个变量。In [1]:...

2018-03-23 17:17:34 293

原创 Python3.x的一些基础(二)

在Python中,变量只需被赋予某一值。不需要声明或者定义数据类型。如:i = 5print(i)i = i + 1print(i)逻辑行与物理行所谓物理行(Physical Line)是你在编写程序时你所看到 的内容。所谓逻辑行(LogicalLine)是 Python 所看到的单个语句。Python 会假定每一物理行会对应一个逻辑行。有关逻辑行的一个例子是诸如  print('hello...

2018-03-22 20:32:38 143

原创 Python3.x的一些基础知识(一)

注释任何存在于#右侧的语句都是注释,可以单独一行,也可接在编程语句后面如:        print('hello world')         #打印hello world               # 打印hello world               print('hello world')在哪些地方应该注释呢?主要有以下几点:    解释假设    说明重要的决定    解释重要的...

2018-03-22 19:19:06 202

原创 那些年,今天

那些年里,总是羡慕的看着别人在网上发布一些技术文章,而想要下载一些东西的时候总是要弹出个注册界面,或者需要各种积分、各种币,然而我都没有,今天,我也终于有了个属于自己的博客了,我也有机会在这上面分享一些属于自己的经验、程序人生了

2017-09-06 16:18:28 152

Qt无边框之重新实现窗口拉伸缩放

在实际开发当中,很少会直接用Qt自带的边框,经常是去掉自带的边框,然后重新使用部件+底图来构建带有企业产品特征的边框。         然而去掉了Qt自带的边框后,随之也去掉了自带的窗口拉伸缩放功能,这就导致了在产品使用过程中失去了一定了灵活性。为此,在该Demo中将通过代码来实现窗口的拉伸缩放功能,其中包含完整案例,拉伸效果纵享丝滑,本项目开发环境为VS2019+QT5.15.2,如环境不同可自行根据自身环境进行配置,希望对大家有所帮助,如对项目中内容有疑问,可在下方评论区或者可以邮件方式进行提出,要是有不足之处请多包含。各位走过路过的大侠,如果感觉对你有帮助,请伸出你的救世之手,赏个赞呗^_^

2022-05-20

QTableWidget实现复选框与自定义编辑

针对QTableWidget实现复选框、编辑功能的demo,在原生可编辑功能上进行了自定义功能的封装,参考此案例可进行自行扩展更多自定义需求开发,针对有自定义功能需求的开发者有一定启发作用,其中包含完整案例,本项目开发环境为VS2019+QT5.15.2,如环境不同可自行根据自身环境进行配置,希望对大家有所帮助,如对项目中内容有疑问,可以邮件方式进行提出,要是有不足之处请多包含。

2022-04-17

VS2010基于MFC开发的软件崩溃快速找bug以及如何优雅崩溃

本上传资源包含:完整项目源码、封装好的异常处理类源码、基于 VS2010 开发的 Release 版本软件异常崩溃后快速定位 bug 相关方法详细文档说明、操作说明,工程不需要额外的库即可运行。

2019-03-10

空空如也

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

TA关注的人

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