- 博客(54)
- 资源 (9)
- 收藏
- 关注

原创 Qt如何写一个三秒自动消失提示窗,适用于窗体和tableView中
#include <QDateTime>#include "QTimer"#include "QAbstractItemModel"class QVBoxLayout;class GlodonTableView;class QModelIndex;class QLabel;class QPropertyAnimation;class ToolTipParam{public: ToolTipParam() : m_sizeMinTip(80, 60)...
2020-09-23 13:18:46
1728
原创 C++ VTK 8.2 如何绘制弹簧图形
/高度的3倍,螺旋线的圈数。// 设置圆柱的高度。// 设置圆柱的半径。// 设置圆柱的分辨率(面的数量)// 应用变换到圆柱几何数据。// 创建映射器和显示节点。// 构造line的参数。// 给线段构造单元格。// 点创建不封闭线。// 设置弹簧的大小。
2023-08-12 22:44:37
382
原创 windbg的使用
https://docs.microsoft.com/zh-cn/windows-hardware/drivers/debugger/
2020-12-05 16:52:22
180
原创 QT中窗体设置了 this->setWindowFlags(Qt::WindowDoesNotAcceptFocus | Qt::FramelessWindowHint | Qt::ToolTip);
QT中窗体设置了 this->setWindowFlags(Qt::WindowDoesNotAcceptFocus | Qt::FramelessWindowHint | Qt::ToolTip);类型后,受Qt::ToolTip的影响会一种置顶,并浮在其他软件能上面的解决办法在show()这个窗体之前增加//设置了toolTip(要不然画不了圆角), 防止提示窗体任何时候都霸屏置顶::SetWindowPos(HWND(this>winId()), HWND_TOPMOST, 0,
2020-12-03 10:18:24
1841
原创 Windows下C++实现杀死某一个进程
BOOL KillProcessByName(LPCWSTR strProcessName) //传入进程名{ if (NULL == strProcessName) { return FALSE; } HANDLE oHandle32Snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); if (INVALID_HANDLE_VALUE == oHandle32Snapshot)...
2020-11-24 16:48:03
1550
原创 使用C++的模板特性写一个通用的模板链表类,包括删除、插入、反转等功能实现
#pragma once#include <iostream>#include <vector>#include <stack>template <class object>struct ListNode{ object data; struct ListNode<object> *next; ListNode<object>(int x):data(x),next(NULL){}};templa...
2020-11-22 15:01:02
365
原创 表示数值的字符串
请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e2","-123","3.1416"和"-1E-16"都表示数值。 但是"12e","1a3.14","1.2.3","+-5"和"12e+4.3"都不是。class Solution {public: bool isNumeric(char* string) { if(string==NULL) return false; i...
2020-11-15 20:27:18
84
原创 把字符串转换成整数
将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0输入描述:输入一个字符串,包括数字字母符号,可以为空输出描述:如果是合法的数值表达则返回该数字,否则返回0class Solution {public: int StrToInt(string str) { int lenght=str.size(); if(lenght==0) return...
2020-11-15 20:26:15
120
原创 翻转单词顺序列
最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么?class Solution {public: string ReverseSentence(string str) { /...
2020-11-15 20:20:19
92
原创 字符串的排列
输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。//利用STL中的next_permutation全排列函数//next_permutation函数会取得[first,last)所标示序列的下一个排列组合,//如果没有下一个排列组合返回false,有则返回trueclass Solution {public:vector<string> P...
2020-11-11 21:04:14
363
原创 替换空格--字符串处理
请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happyclass Solution {public: void replaceSpace(char *str,int length) { //创建一个动态字符,没遇到空格就一个个插入“%”,“2”,“0” char *newStr=new char [length+3]; int i...
2020-11-11 21:00:43
155
原创 旋转数组的最小数字
把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。class Solution {public: int minNumberInRotateArray(vector<int> rotateArray) { //方法 1首先是用前一个与后一个相...
2020-11-10 21:58:42
103
原创 二维数组中的查找
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数class Solution {public: bool Find(vector<vector<int> > array,int target) { ///分析:先确定行数和列数 //右移递增,下移递增 int hang=array.size()...
2020-11-09 21:19:11
91
原创 c++设计模式之享元模式
。特别是对于大量轻量级(细粒度)的对象,比如在文档编辑器的设计过程中,我们如果为没有字母创建一个对象的话,系统可能会因为大量的对象而造成存储开销的浪费。例如一个字母“a”在文档中出现了100000次,而实际上我们可以让这一万个字母“a”共享一个对象,当然因为在不同的位置可能字母“a”有不同的显示效果(例如字体和大小等设置不同),在这种情况我们可以为将对象的状态分为“外部状态”和“内部状态”,将可以被共享(不会变化)的状态作为内部状态存储在对象中,而外部对象(例如上面提到的字体、大小等)我们可以在适当的时候将
2020-11-07 21:36:34
254
原创 如何写一个C++的安全单例模板类
template<class T>class SingletonTemplate{public: static T *getInstance(); static void freeInstance();protected: SingletonTemplate(){} ~SingletonTemplate(){}private: SingletonTemplate(const SingletonTemplate&); Singl...
2020-10-29 20:22:01
158
原创 写一个管理Svg图片的灰度处理类
//还没想好怎么写,先把声明写了,想好再加上去#pragma once#include <QtCore/qglobal.h>#include <QPainter>#include <QSvgRenderer>#include <QIcon>#include <QPixmap>class ManagermentSvgRenderer{public: ManagermentSvgRenderer(); Manage...
2020-10-28 21:01:42
442
原创 拖动窗体改变大小时,tableView跟随者窗体改变大小,重写resizeEvent(QResizeEvent *event)事件
void 类型::resizeEvent(QResizeEvent *event){ if (m_pErrorView) { int width = m_pTableView->width(); int scrollWidth = m_pTableView->verticalScrollBar()->sizeHint().width(); m_pTableView->setColumnWidth(0, width...
2020-10-28 13:25:04
1407
原创 继承Qcombox,重写下拉显示窗体,根据下拉treeview的数据项改变下拉窗体的大小
class MyComboBox :public QComboBox{public: MyComboBox(QWidget *pParent = nullptr); ~MyComboBox(); protected: void showPopup(); //重写下拉显窗体,设置显示项的大小private: void resizeContent(); int MaxContentSize(); int getMaxContentSize(T...
2020-10-27 16:42:51
504
原创 Qt TableVIew上右键弹出菜单理解和demo思路
class FilterFrame : public QWidget{ Q_OBJECTpublic: FilterFrame(QWidget *pParent = nullptr); ~FilterFrame();protected: void initUI(); void slotsConnect(); void setAction(QAction *pAction); void initContextMenu(); protec...
2020-10-20 13:19:26
510
原创 Qt 对 json字串的解析
这是json串[ { "ServerIP": "P1:10.2.41.20:10.2.41.20:001" }, { "ServerIP": "pc01:10.2.41.82:10.2.41.82:001" }, { "ServerIP": "q-P1:10.2.41.88:10.2.41.88:111" }, { "ServerIP": "e-pc01:10.2.41.105:10....
2020-10-19 17:18:01
501
原创 c++设计模式,观察者模式理解及demo实现
Observer模式要解决的问题为:建立一个一(Subject)对多(Observer)的依赖关系,并且做到当“一”变化的时候,依赖这个“一”的多也能够同步改变。最常见的一个例子就是:对同一组数据进行统计分析时候,我们希望能够提供多种形式的表示(例如以表格进行统计显示、柱状图统计显示、百分比统计显示等)。这些表示都依赖于同一组数据,我们当然需要当数据改变的时候,所有的统计的显示都能够同时改变。Observer模式就是解决了这一个问题。当对象间存在一对多关系时,则使用观察者模式(Observer Patt
2020-10-18 19:27:38
219
原创 Visual Studio 编译时moc 某些头文件找不到,编译不过,解决办法
Visual Studio 编译时moc 某些头文件找不到,编译不过,解决办法主要是不同的VS版本提交时存在的差异造成的需要把编译时moc不过的头文件先移除掉,然后再添加回来,再编译就能编过了
2020-10-15 17:49:50
747
原创 c++ 设计模式之策略模式及实现demo
关键在于将算法的逻辑抽象接口(DoAction)封装到一个类中(Context),再通过委托的方式具体的算法实现委托给具体的strategy类来实现(ConcreteStrategyA类)Context封装角色它也叫做上下文角色,起承上启下封装作用,屏蔽高层模块对策略、算法的直接访问,封装可能存在的变化。Strategy抽象策略角色策略、算法家族的抽象,通常为接口,定义每个策略或算法必须具有的方法和属性。ConcreteStrategy具体策略角色实现抽象策略中的操作,该类...
2020-10-15 13:21:46
138
原创 C++设计模式-责任链模式理解及demo
责任链模式中,ConcreteHandler将自己的后继对象(向下传递信息的对象)记录在自己的后继表中,当一个请求到来时,ConcreteHandler会先检查看自己有没有匹配的处理程序,如果有就自己处理,否则传递给它的后继处理,ConcreteHandler只是简单的检查看自己有没有后继,有的话将请求传递给后继进行处理,没有的话就自己处理。#pragma onceclass Handle{public: Handle(); Handle(Hand...
2020-10-14 13:23:32
124
原创 C++代理模式理解及实现demo
Proxy模式又叫做代理模式 ,它可以为其他对象提供一种代理以控制对这个对象的访问。所谓代理,是指具有与代理(被代理的对象)具有相同的接口的类,客户端必须通过代理与被代理的目标类交互,而代理一般在交互的工程中(交互前后),进行某些特别的处理。以下集中情况下可以用Proxy模式解决问题:1)创建开销大的对象时候,比如显示一幅大的图片,我们将这个创建的过程交给代理去完成,称之为虚代理(Virtual Proxy);2)为网络上的对象创建一个局部的本地代理,比如要操作一个网络上的一个对象.
2020-10-13 13:21:58
172
原创 C++装饰模式理解与实现demo
装饰模式给一个已经定义好的类添加新的职责,通过的情况会定义一个新类继承自定类,这样子会带来一个问题,通过继承的方式解决会使系统的复杂性变得更深,而Decorator提供了一种给类增加的职责的方法,不是通过继承实现的,而通过组合。优点:(1)装饰类和被装饰类可以独立发展,而不会相互耦合。(2)装饰模式是继承关系的一个替代方案。(3)装饰模式可以动态地扩展一个实现类的功能。缺点:对于装饰模式记住一点就足够了:多层的装饰是比较复杂的。应用场景:(1)需要扩展一个类的功能,或给一个类增加附加功能
2020-10-12 10:08:03
120
原创 C++实现一个单例
class MyInstance{public: static MyInstance* getInstance() { if (nullptr == m_pInstance) { m_pInstance = new MyInstance(); } return m_pInstance; }; static void freeInstance();private: MyIns...
2020-10-09 13:17:57
111
原创 QItemDelegate定制TableView中每一列属于不同类型的控件
#include "QItemDelegate"#include <QLineEdit>#include <QPlainTextEdit>// TableView.ItemDelegate选项enum EditStyle{ None, // 不能编辑 Simple, // 默认编辑框 PlainEdit, // 多行编辑框 LineEdit, // 单...
2020-09-30 12:43:30
384
原创 C++装饰模式,设计模式
装饰模式给一个已经定义好的类添加新的职责,通过的情况会定义一个新类继承自定类,这样子会带来一个问题,通过继承的方式解决会使系统的复杂性变得更深,而Decorator提供了一种给类增加的职责的方法,不是通过继承实现的,而通过组合。优点:(1)装饰类和被装饰类可以独立发展,而不会相互耦合。(2)装饰模式是继承关系的一个替代方案。(3)装饰模式可以动态地扩展一个实现类的功能。缺点:对于装饰模式记住一点就足够了:多层的装饰是比较复杂的。应用场景:(1)需要扩展一个类的功能,或给一个类增加附加功能
2020-09-30 08:55:57
114
原创 qt使用QTreeWidget实现一个树结构显示数据
#pragma once#include <QTreeWidget>#include <QVBoxLayout>#include <QStatusBar>#include <QList>class TreeView :public QTreeWidget{public: TreeView(QWidget *pParent = nullptr) :QTreeWidget(pParent) {} ~TreeView() {};...
2020-09-29 17:56:20
2442
原创 Qt如何给一个button,悬浮 、按下设置不同的背景图
QPushButton *pButton= new QPushButton();QString styleSheet = QString("QPushButton{background:url(%1); background-color:transparent;border: none; }" //正常 "QPushButton:hover{background:url(%2); background-color:transparent; }" //滑过 "QPushB...
2020-09-28 08:46:16
1791
原创 Qt实现定制化的输入框,如输入IP地址的小控件
1.定制自己的Ip QLineEdit控件类2.将定制的QLineEdit布局在QFrame上最后效果是这样子的#pragma once#include <QFrame>#include <QString>#include <QLabel>#include <QLineEdit>class IpPartLineEdit : public QLineEdit{ Q_OBJECTpublic: IpPartLine...
2020-09-26 09:22:14
1155
原创 QLineEdit实现定制化的QLineEdit,QLineEdit中间可输入文本,两边加入图标点缀的实现思路
QLineEdit实现定制化的QLineEdit,QLineEdit中间可输入文本,两边加入图标点缀的实现思路,继承QlineEdit,定制属于自己的QLineEdit,方便入门级理解,直接上实现代码//.h#pragma once#include <QLineEdit>#include <QPushButton>#include <QHBoxLayout>#include <QLabel>class specialLineEdit : p.
2020-09-26 08:26:34
1130
原创 Qt如何往ini文件里读写数据
如何往ini文件里读写数据static const wchar_t *c_strName = L"Login";static QString cofigFilePath ="xx/xxx" //ini文件路径比如ini里的结构是这样子的[Login]ComputerName=HostName=HostIP=node就是ComputerName、HostName、HostIP等//读取ini里的信息QString readConfigNode(const wchar_t ...
2020-09-25 16:31:49
498
原创 Qt中如何给窗体绘制阴影,重写绘图事件
给窗体绘制阴影 void paintEvent(QPaintEvent *event) { //绘制阴影 QPainterPath path; path.setFillRule(Qt::WindingFill); path.addRect(10 10 this->width() - 10* 2, this->height() - 10* 2); QPainter painter(this); ...
2020-09-25 15:26:54
891
原创 选中窗体Qt事件处理窗体跟着鼠标移动
Qt事件处理窗体跟着鼠标选中窗体时跟着鼠标移动class MoveFrme :public QDialog{public: MoveFrme(Qwidget *pParent =null):QDialog(pParent){}; ~MoveFrme(){};protected: void mousePressEvent(QMouseEvent *); void mouseMoveEvent(QMouseEvent *); void mouseReleaseE...
2020-09-25 12:14:52
692
原创 一个函数未执行完时就马上执行另一个出现崩溃,使用QTimer::singleShot阻塞一下,再执行另一个函数
一个线程或者函数或者进度条未执行完时就马上执行另一个出现崩溃,使用QTimer::singleShot阻塞一下,再执行另一个函数,QTimer::singleShot(10, [&]{ ;//写想要执行的函数});
2020-09-24 19:44:40
1159
nsis-x.x-setup.exe,niseditx.x.exe
2023-06-25
DependencyWalker_x64.zip
2020-10-09
VAssistx VS2015 or VS2010
2018-07-19
数据流分析理论及实践Data Flow Analysis Theory and Practice
2016-11-29
android手机开发activity之间的跳转例子
2014-04-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人