3.8 KiB
qt选择的版本,是qt最后一个,支持完全离线安装的版本,5.14.2,需要注意的是,安装的时候,需要断网安装,才可以跳过,用户登录的步骤;
unity选择的版本,是2019.3.0
首先,打开qt,如果要设置暗色模式,参考Qt暗色模式即可;
需要注意的是,如果后期涉及到,复制依赖库相关的,qt工程的路径,不可以太深,不然会出现预期之外的问题;
这里创建新工程,建议只存在,三层子目录的qt工程,举例说明,在G:\code\mine\目录创建即可;
打开qt,开始创建新工程
选择动态库文件;
继续
选择,在安装时候,勾选的MinGW64位编译即可;
先把一个QtWinMigrate相关的qt pri工程,拷贝到,根目录的同级目录,具体内容,参考QtWinMigrate即可;
打开qt的pro文件,先修改C++的编译配置版本
然后,设置编译路径,分别是Output目录下的release或者debug路径,分别对应不同的编译类型;
当下的,选择Release即可;
通过这种形式,可以调用,外部的pri配置文件
添加,保存修改后,等待编译完成,可以看到,对应的pri工程,就已经被加入进来了,后续如果是ui相关的,也可以通过这种形式,解耦;
右键,选择添加;
加一个核心的C++类相关,命名为Core;
头文件,include引用,相关的,其他头文件; 然后,调用了MFC相关的QWinWidget类,还有声明一个Callback回调,后续用于跟Unity的通信和交互; 设置Core继承自,QObject类,再整一个instance单例模式; 而Core的构造函数,设置为private私有,而且禁用隐式转换,参考QT中的explicit关键字的作用;
对应修改一下cpp文件,对于构造函数的调用
回到.h头文件,整一个KitApi枚举,其中先包含俩元素,用于初始化和退出SDK相关;
在头文件中,声明了几个,需要使用到的,私有变量; 其中m_callbackMap是用于,存储和调用,由unity传递过来的,函数功能回调,参考QMap使用详解即可; 后续几个私有变量,都是跟windows窗体有关,在这里,就是unity应用程序,对应的窗体,参考qt HANDLE和qt HWND和WNDPROC即可;
然后,再声明几个,对应的私有函数; init是sdk初始化相关; result是用于,回调相关,是发消息回unity客户端的; instanceCount是用于初始化,实例化qt sdk数量的设定; initHWND是用于,初始化unity窗口相关信息;
再声明几个,公有函数,分别是用于,获取窗口标题,成功&失败回调,函数触发invoke,sdk退出的quit,打印的print; 还有对应的callback回调getCallback,剩下的,也是跟unity窗体相关;
在头文件,再弄俩信号,分别是用于,后续窗体遮罩相关


























