gigi怪
码龄3年
  • 26,212
    被访问
  • 86
    原创
  • 178,646
    排名
  • 12
    粉丝
关注
提问 私信
  • 加入CSDN时间: 2019-08-02
博客简介:

weixin_45482816的博客

查看详细资料
  • 3
    领奖
    总分 202 当月 12
个人成就
  • 获得22次点赞
  • 内容获得17次评论
  • 获得60次收藏
创作历程
  • 36篇
    2021年
  • 51篇
    2020年
成就勋章
TA的专栏
  • Qt
    19篇
  • 平面几何图形
    1篇
  • opencascade
    2篇
  • c++
    13篇
  • Visual Studio
    18篇
  • 算法及数据结构
    20篇
  • opencv
    1篇
  • 项目小结
    6篇
  • C
    3篇
  • 操作系统
    2篇
  • 数据库
    3篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Qt:利用qApp进行插件化模块通信

由于QCoreApplication全局单例,因此可以利用其作为媒介进行模块间通信。#define qApp (static_cast<QApplication *>(QCoreApplication::instance()))例如现在有一个主框架Main,包含了两个界面Widget,现在需要当点击WidgetA中的某个控件时,框架会切换到widgetB界面且进行相关操作。1.WidgetA利用setProperty设置相关要传输的数据,并调用sendEvent发送事件。 int
原创
发布博客 2021.10.13 ·
98 阅读 ·
0 点赞 ·
0 评论

Qt:多个信号连接同一个槽函数,获取信号发送对象

使用sender()获取信号发出对象,再用对象名判断对象,做相应处理 QObject* lSender = sender(); if (lSender == 0) return; if (lSender->objectName() == "str1") {} else if (lSender->objectName() == "str2") {} else if (lSender->objectName() == "str3") {}...
原创
发布博客 2021.10.08 ·
157 阅读 ·
0 点赞 ·
0 评论

Clipper:布尔运算类型

一.ClipperClipper支持四种裁剪类型,分别是交集、并集、非/差和异或。enum ClipType { ctIntersection, ctUnion, ctDifference, ctXor }; 假如现在把布尔操作比作弄饺子皮,一整大块面皮就是主体多边形,而一个小杯子就是裁剪多边形:1.交集intersection当我们用杯子压在面皮上用力往下压,就相当于把面皮裁剪了,得到的一小块杯口形状的面皮(裁剪结果),就相当于intersection的结果,即两多边形的共同区域。2.并集
原创
发布博客 2021.08.30 ·
211 阅读 ·
0 点赞 ·
0 评论

opencascade:布尔操作后的缝合线消除

opencascade中,我们可以运用BRepAlgo_Fuse来进行两个几何模型的融合操作。但实际使用时,比如下面例子中,先在大长方体上面挖一个小长方体,然后再将小长方体直接通过BRepAlgo_Fuse重新融合回去:从上图可以发现,融合之后,虽然原来的槽被填补了,可是出现了缝合线。为了消除缝合线,我们需要用到工具类ShapeUpgrade_UnifySameDomain,该工具用于统一一个几何模型上的面和边。应该可以理解为,同一模型,同一面上的边,统一用边界的边来表示,其余的去掉。 TopoD
原创
发布博客 2021.08.18 ·
156 阅读 ·
0 点赞 ·
0 评论

opencascade:修改Dimension标注的样式

在使用opencascade中的标注类AIS_Dimension时,想着修改标注的颜色,文字的样式大小等,一开始使用的是其基类AIS_InteractiveObject中的SetColor,但是发现没有作用。 Handle(AIS_DiameterDimension) DiameterDimension = new AIS_DiameterDimension(coneButtom); DiameterDimension->SetColor(Quantity_NOC_BLUE1);正确的做法需要
原创
发布博客 2021.08.17 ·
268 阅读 ·
2 点赞 ·
0 评论

解决:应用程序无法正常启动0xc000007b

当我们都链接好相应的dll时候,却还是无法打开应用,并爆出了这样的错误。原因可能是库的版本问题。这里推荐一个小工具depends,它可以查找一个应用依赖的所有dll,并提供相应信息。查找发现,原来是这几个库拷错了,应用是x64,但是库的版本确实x86。重新拷贝正确的库便可解决上述问题。...
原创
发布博客 2021.07.23 ·
26 阅读 ·
0 点赞 ·
0 评论

Qt:QPluginLoader与插件式开发

一个工程中,不同的界面就可能由不同的模块进行管理开发,然后生成相应的dll。一般状况下,直接加载.dll创建对象的话,当这个.dll丢失的时候,程序就会直接报错,无法运行下去。但当我们利用插件式开发,结合QPluginLoader,就可以做到即使.dll丢失,主程序也不会崩溃,只会丢失相应的功能。1.首先自定义插件抽象基类函数根据需要自行添加。class IPlugin : public QObject{public: virtual ~IPlugin() {}public: virtu
原创
发布博客 2021.07.19 ·
235 阅读 ·
0 点赞 ·
0 评论

未加载Qt5Core.pdb

发布版本的时候,使用了windeployqt来生成相应的库,但是不小心直接在C:\Qt\Qt5.13.2\5.13.2\msvc2017_64\bin中生成了,覆盖掉了Qt5Core.dll,导致出现无法调试的结果。
原创
发布博客 2021.07.18 ·
915 阅读 ·
0 点赞 ·
4 评论

Qt:关于QAxWidget的使用注意

1.QtDesigner中,提供了接口,可自定义插件,需继承这个抽象类QDesignerCustomWidgetInterface,实现相应的接口。{public: virtual ~QDesignerCustomWidgetInterface() {} virtual QString name() const = 0; //名字virtual QString group() const = 0; //即在哪个组显示virtual QString toolTip() const
原创
发布博客 2021.07.17 ·
618 阅读 ·
0 点赞 ·
1 评论

C++:关于匿名函数

1.匿名函数的作用相较于普通非匿名函数,匿名函数无需进行另外的声明和定义,仅当调用该匿名时,函数体才会创建,且调用完毕后会立即释放资源。因此匿名函数会更加节省空间,常用于像std::sort这样可以重写排序方式的函数。2.匿名函数的例子 //例子1: auto testReturn = [](int a1, int a2) {return a1>a2 }; bool flag = testReturn(23, 21); cout<<flag<<endl; //例
原创
发布博客 2021.07.14 ·
148 阅读 ·
0 点赞 ·
0 评论

vs:关于工程链接中的“引用”

vs中,除了在属性->链接器中添加附加依赖项来链接dll之外,还可以直接在工程的引用中添加相应的工程,vs会自行加载。在这里勾选需要用到的,其他项目生成的库。
原创
发布博客 2021.06.16 ·
41 阅读 ·
0 点赞 ·
0 评论

Qt5Widgetsd.dll和Qt5Widgets.dll区别

Qt5Widgetsd.dll是Debug版本所使用的库,而Qt5Widgets.dll是Release版本的库。Debug一般是公司内部调试所用,版本的发行一般是Release版本,所以不要发错了,不然就会出现找不到相应dll的错误。
原创
发布博客 2021.06.10 ·
877 阅读 ·
0 点赞 ·
0 评论

Qt:QXmlStreamReader,QXmlStreamWriter读写xml文件

1.读xml QFile file(QCoreApplication::applicationDirPath() + "/config/Setting.xml"); if (file.open(QIODevice::ReadOnly | QIODevice::Text)) { QXmlStreamReader reader(&file); QString name = ""; int col = 0; bool select = false; while (!reader.
原创
发布博客 2021.06.09 ·
85 阅读 ·
0 点赞 ·
0 评论

Qt:获取CPU序号,硬盘序号

读取CPU序号及硬盘序号等需要用到QProcess。 p.start("wmic CPU get ProcessorID"); //获取cpu序号 p.waitForStarted(); p.waitForFinished(); CpuId = QString::fromLocal8Bit(p.readAllStandardOutput()); CpuId = CpuId.remove("ProcessorId").trimmed(); //除去前缀 p.start("wmic diskd
原创
发布博客 2021.06.09 ·
336 阅读 ·
0 点赞 ·
0 评论

Qt:操作系统注册表

Qt中的QSettings类用于处理对系统注册表的操作。1.写入QString WTime,WKey,WVersion;QSettings setting("HKEY_CURRENT_USER\\SOFTWARE\\Test", QSettings::NativeFormat); //打开注册表setting.setValue("time", WTime);setting.setValue("password", WKey);setting.setValue("version", WVersio
原创
发布博客 2021.06.09 ·
238 阅读 ·
0 点赞 ·
1 评论

error: ‘>>‘ should be ‘> >‘ within a nested template argument list

在镶嵌模板中,后一个>需要一个空格隔开vector<vector<Pair>> coutours;//修改成如下即可vector<vector<Pair> > coutours;
原创
发布博客 2021.03.12 ·
71 阅读 ·
0 点赞 ·
0 评论

关于调用深思API读写加密狗

工作中需要完成一些加密狗的简单功能,现稍作记录。 1.加密狗登录与登出1)登录2)登出2.加密狗信息读取与写入1)读取2)写入1.加密狗登录与登出1)登录2)登出2.加密狗信息读取与写入1)读取2)写入...
原创
发布博客 2021.02.24 ·
753 阅读 ·
1 点赞 ·
1 评论

vs2015 调试时打开控制台

打开项目属性->通用属性->链接器->系统->子系统,在其中选择即可切换。
原创
发布博客 2021.02.04 ·
1628 阅读 ·
1 点赞 ·
0 评论

Qt:QLibrary简析与使用

的
原创
发布博客 2021.02.04 ·
1454 阅读 ·
1 点赞 ·
0 评论

Qt:QApplication浅析

当我们设计Qt界面应用时,不免会对下面代码非常熟悉。QApplication作为整个GUI应用的入口点,想必是完成各种初始化,并开始主循环,各种东西。int main(int argc, char *argv[]){ QApplication a(argc, argv); //...... return a.exec();}无论有多少个windows,一个应用中只会存在一个QApplication对象。若应用无需用QWidget类,则应该用QGuiApplication来
原创
发布博客 2021.01.29 ·
658 阅读 ·
0 点赞 ·
1 评论
加载更多