自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 MSVC链接器参数:子系统(/SUBSYSTEM)和入口点(/ENTRY)

入口点(/ENTRY)决定链接器从哪儿开始执行你的程序,mainCRTStartup对应main,WinMainCRTStartup对应winMain;子系统(/SUBSYSTEM)决定操作系统是否需要提供控制台作为交互方式,常用2个选择,console和window;,同时把你的main函数修改为WinMain(推测是这样操作的,也有可能是生成了WinMain,在里面调用main)。如果你使用cmake,程序入口函数名为main,想让你的程序没有控制台,可以直接在。该参数会让camke为你自动指定。

2024-09-11 09:00:25 184

原创 ASSERT failure in void __cdecl QtFontFamily::ensurePopulated(void) 解决方法

如果你将字体名字设为中文,例如微软雅黑,就可能出现该错误,应该设置为英文名称,例如Microsoft YaHei。是false,所以会打印该错误消息,错误原因是。,name是字体的名字。

2024-09-04 09:35:42 200

原创 C#委托为什么实例化时可以不使用new

破案了,这是C#提供的语法糖。通过查看编译后的代码,发现C#将。语法糖虽然好,但容易让人混淆概念呀。

2024-09-02 10:30:49 318

原创 如何在C#中直接使用dll中的C++类

然后再新建一个CLR工程,名字就叫做CppClr吧,用C++\CLI语言对Cpp dll做一个包装(制作胶水),记得添加对Cpp dll的引用。C#和C++是两种编程语言,直接在C#中使用C++类是很困难的,但万能的微软提供了C++/CLI这一工具作为胶水,把两者粘连起来的。C++\CLI这胶水还是比较好用的,相当于给dll 里的C++类重新写了一个头文件,让C# 能够认识。好了,胶水制作好了,可以在C# 工程里试一下,建立一个控制台项目吧,名字就叫做App好了。

2024-08-31 11:20:12 435

原创 WM_DRAWITEM是如何产生的

假如存在一个MyButton类,WM_PAINT消息进入到该类的窗口事件处理函数中,该函数会检查owner-drawn标志,如果该标志存在,则发出WM_DRAWITEM消息给它的父窗口,再由父窗口调用MyButton的DrawItem虚函数。我注意到只有被标注为owner-drawn的按钮、复选框、列表框或菜单才会发出这个消息,所以,应该不是同时发出2个消息,而是WM_DRAWITEM消息是由WM_PAINT引起的。这当然没有问题,但是,我被一个问题深深的缠住了,WM_DRAWITEM究竟是怎么产生的呢?

2024-08-30 11:12:44 278

原创 vs属性表生效顺序

当然,include directory、lib directory 什么的应该是增加,不会覆盖。相信很多人会有和我一样的疑惑,这么多属性表,最终的属性以哪个表为准呢?属性表1中的设置会覆盖属性表2。

2024-08-28 08:38:30 128

原创 未被纳入编译范围的头文件中包含Q_OBJECT

但是没有把interface.h也编译成moc_interface.cpp呀,那些应该有的元对象函数在工程A生成的dll里,而你又没有给Interface类加上符号导出关键字,问题就这么产生了。因为你没有把interface.h也纳入编译范围,moc将implement.h编译成moc_implement.cpp了,该有的元对象相关的函数都有了,开始编译,问题出现了,编译器会告诉你有一大堆未解析的符号,它们都是Q_OBJECT宏替换后生成的函数。

2024-08-27 10:15:50 157

原创 简单的qml 属性浏览器

我知道在Qt.labs.qmlmodels中有更好的delegateChoose可以使用,但在我知道之前我用Loader实现了此功能,基于quick2 TableView实现,主要思想是根据model type role 的数据确认该项的类型,使用Loader分类别加载对应类型的组件(string、int、double、bool和enum)。model在cpp里定义,用QQmlProperty将其设置为TableView model的值。不知道这2种方法谁更好。

2024-08-27 08:31:43 357

原创 简单谈谈为什么QML和CPP的信号链接参数数据类型要使用QVariant

这个时候就要拿出我们的QVariant这个万能的包装器,将这个无法确定类型的参数包装起来。这样一来,信号参数的数据类型就被确定为QVariant了。Qt不会自动帮你把QVariant转换成QString,但我觉得这在技术上是可以实现的,编译时编译器是知道槽的数据类型的,这是因为connect函数要求信号和槽的参数数量和类型一致,信号为QVariant了,槽自然也只能是QVariant。那么槽函数参数的数据类型为什么不能写成QString呢,QVariant不是一个万能的数据类型包装器吗?

2024-08-21 23:17:43 337

原创 2021-08-10

TCP/IP协议 个人笔记知乎-NowYouSeeMe-理解TCP/IP协议CSDN-猿人谷-面试官,不要再问我三次握手和四次挥手什么是TCP/IP协议传输方式的分类三次握手,四次挥手三次握手的目的是在发送数据之前,让双方的发送和接受同步。为什么要三次握手四次挥手的目的传输完成,断开通信连接。客户端为什么会等待知乎-NowYouSeeMe-理解TCP/IP协议CSDN-猿人谷-面试官,不要再问我三次握手和四次挥手什么是TCP/IP协议计算机与计算机通过网络通信而达成的“约定”,双方通过该约定,就能互

2021-08-10 10:24:16 169

原创 QTableView QStandardItemModel QStandardItem三者的关系 个人笔记

三者关系如果把QTableView看作画框的话,那么,QStandardItemModel就是画框里的画,QStandardItem是画里的人物。QStandardItemQStandardItem是存储数据的单元格,它存储的是QString常用样式:QStandardItem* item = new QStandardItem(QString::fromLocal8Bit("hello!"));这样我们就创建了一个显示hello!的单元格QStandardItemModelQStandar

2020-08-31 09:31:06 2288

原创 mysql SQL语法

增删改查增:insert into table(col1,clo2,col3)values(str1,str2,str3),(str1,str2,str3);删:delete form tablewhere Expression改:update tablesetcol1 = update,col2 = updatewhere Expression;查:select col1,col2,col3 form tablewhere Expression;删除表drop table

2020-08-26 11:07:01 171

原创 PyImport_ImportModule 返回空NULL py模块import其他库

问题描述执行下列代码,PyImport_ImportModule()总返回空NULL。Py_SetPythonHome(L"C:/Program Files/Python38");Py_Initialize();PyRun_SimpleString("import sys");PyRun_SimpleString("sys.path.append('./')");PyObject i = PyImport_ImportModule("test_one");Py_Finalize();/*t

2020-08-24 21:20:56 5873 7

原创 使用Basler相机Qt程序出现PylonBase_v5_2.dll 引发的异常 读取位置发生访问冲突

问题原因调用m_camera.Attach(CTlFactory::GetInstance().CreateFirstDevice())后没有调用DtachDevice(),就直接关闭Qt程序,析构函数执行PylonTerminate()以释放空间,然后出现异常。解决方法Attach()和DtachDevice()配对使用就没有问题。引发异常的底层原因并不清楚。...

2020-08-21 10:22:54 986

原创 VS发布Qt程序,在其他电脑上出现The application failed to start because no Qt platform plugin could be initialized.

辛苦用Qt编出51单片机的上位机GUI程序,在我自己的电脑上成功运行了,但在其他电脑上却报错,傻眼了。上网查了查,第一个解决方法来了。解决方法一使用Qt官方给你准备的发布工具,windeployqt.exe来给你的程序(exe)配环境,也就是把dll(动态依赖库)放到你exe程序同目录下。首先打开cmd,操作如下:C:\User\xxxx> E: //切换到E盘E:\> cd E:\mysoftware\myQtExe\Relese //进入你的relese版本的程序目录E:\

2020-08-13 16:31:56 3110 1

原创 未经处理的异常: 0xc0000374: 堆已损坏

问题描述点击登陆按钮时,会创建一个登陆对象(该对象是一个登陆UI界面,包含一个db数据库连接和查询),关闭该登陆UI界面后,再次点击登陆,会出现一个异常:未经处理的异常: 0xc0000374: 堆已损坏。解决:这个操作等于一次性建立了两个数据库连接,并且连接的都是同一个数据库(不知道这样是否合法)。把数据库连接设为静态变量,并在创建数据库连接之前检查是否已经创建该数据库,这样就能保证多个对象共享一个数据库连接(似乎用单件模式更好),问题解决。其它类似问题void Login::queryInD

2020-08-05 11:01:14 5393

原创 LNK 2019 无法解析的外部符号

原因你包含了头文件,却没有包含该文件的库文件(.lib)lib文件lib是静态数据链接库,在windows中起到链接程序和函数的作用。lib里存放的是函数调用的信息,数据库有静态数据库(.lib)和动态数据库(.dll)两种静态编译(个人理解)静态编译将函数的声明和实现都放在lib中,编译后所有代码都嵌入宿主程序。缺点是体积大,因为函数的实现被嵌入到了程序中。优点是不需要依赖外部的数据库,程序可以独自运行。动态编译(个人理解)dll文件存放着函数的实现,lib里存放着函数的声明,编译时,

2020-08-04 15:01:53 167

原创 C++ 静态数据成员初始化方式

静态数据成员在类内声明,类外定义(也就是在.h中声明,在.cpp中初始化)。静态数据成员被所有对象共享,在所有对象中,静态数据成员只有一个。在.cpp初始化的方式数据类型 类名::静态数据成员 = 初始值;...

2020-08-03 16:29:09 746 1

原创 qt通过ODBC驱动与mysql连接

参考https://blog.csdn.net/m0_38128647/article/details/89482413创建你的mysql服务器我创建的mysql服务名称为mysql80。新建一个test数据库,里面新建一张student表。安装MySQL connector ODBC通过MySQL installer community 安装mysql ODBC连接器在管理工具-ODBC数据源(64位)-用户DSN里添加MySQL ODBC Unicode Driver配置ODBC驱动

2020-08-01 09:52:26 548

原创 qt project setting modules勾选无反应(再次打开仍没勾选)

一:软件visual studio 2017qt visual studio tools version 2.5.0二:解决方法在properties中,设置version为msvc2017_64

2020-07-27 13:23:33 1884

原创 错误 无法使用未定义类型“Ui::MainWidow“

一、问题分析在Qt Creator中创建Qt项目时,Creator会自动给你声明一个命名空间Uinamespace Ui {class MainWindow;}这是命名空间Ui里的一个类,类名是MainWindow,和你声明的MainWindow不是同一个东西#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>QT_BEGIN_NAMESPACEnamespace Ui { class MainWin

2020-07-23 10:56:12 14389 8

原创 VS 2019 Qt 无法打开 源 文件 “QDesignerCustomWidgetInterface“

VS 2019 Qt 无法打开 源 文件 “QDesignerCustomWidgetInterface”VS 2019 Qt 无法打开 源 文件 “QDesignerCustomWidgetInterface”软件VS2019 CommunityQt Visual Studio Tools version 2.4.3解决方法#include <QtDesigner/QDesigenrCustomWidgetInterface>...

2020-07-22 21:03:38 874

空空如也

空空如也

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

TA关注的人

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