回到core头文件,新增一个,显示测试UI的ShowUI枚举,再声明一个TestShowUI的函数
![[Pasted image 20240806201253.png]]
Core源文件,对应实现,设定测试UI的父窗体,是Core获取到的,Win窗体,再调用exec进行事件等待,窗体操作完成,再执行后续操作,参考[[qt中main函数中的exec()作用总结]]
![[Pasted image 20240806201400.png]]
在Invoke函数中,添加对应的case触发,和函数调用
![[Pasted image 20240806201756.png]]
保存修改,编译构建
![[Pasted image 20240806201828.png]]
回到Unity端,脚本,也对应添加,同名枚举
![[Pasted image 20240806201853.png]]
再加一个回调
![[Pasted image 20240806201909.png]]
在OnGUI中,对应调用
![[Pasted image 20240806201946.png]]
保存修改,打开Unity,运行,显示UI和阴影遮罩特效,正常
![[Pasted image 20240806202059.png]]
然后,开始弄Miniblink相关,miniblink是一个开源的小巧浏览器框架,参考[[miniblink功能整理]],先在UI子项目,添加新文件; 因为网页渲染相关,跟qt原本的半透明属性设置,会存在显示渲染的bug,所以需要两个ui,实现内置浏览器的功能,后续会再创建一个,背景相关的ui;
![[Pasted image 20240806214050.png]]
![[Pasted image 20240806214258.png]]
![[Pasted image 20240806214731.png]]
命名为MiniBlinkUI即可
![[Pasted image 20240806214812.png]]
来到UI子项目路径,把对应miniblink的头文件相关wke.h,复制粘贴到该目录
![[Pasted image 20240806220314.png]]
右键子项目,添加现有文件
![[Pasted image 20240806220350.png]]
把头文件,加进去
![[Pasted image 20240806220417.png]]
miniblinkui界面编辑,设置一下宽高
![[Pasted image 20240807113417.png]]
头文件,include引用关系,和构造函数,还有信号和关闭等,声明
![[Pasted image 20240807113540.png]]
内置浏览器的调用,需要使用到 miniblink_4975_x64.dll 这个dll文件,是从官网的github开源地址,下载即可; 先把该dll文件,拷贝粘贴到,Unity.exe游戏引擎,所在路径即可;
![[Pasted image 20240807114237.png]]
源文件,构造函数中,先获取到,应用程序的目录路径; 当前是基于Unity工程打开,也就是Unity.exe所在的路径; 通过各内置函数,wkeLoadURL加载网址,wkeSetWkeDllPath设置dll路径,参考[[QString转wchar_t]],wkeInitialize完成初始化; 通过setWindowFlags函数,设置好qt窗体的显示属性后,通过wkeCreateWebWindow内置函数,完成网页窗体的设置即可,设定分辨率是640*480,和该ui窗体界面的尺寸,一致; 最终,通过wkeShowWindow函数接口,显示webview; 再通过wkeLoadURL函数接口,加载对应网址;
![[Pasted image 20240811174311.png]]
析构函数、还有关闭函数相关,使用miniblink的wkeFinalize函数,清理即可
![[Pasted image 20240807114830.png]]
开始添加,网页背景相关
![[Pasted image 20240807115039.png]]
![[Pasted image 20240807115108.png]]
![[Pasted image 20240807115125.png]]
命名为MiniBlinkUIBg界面
![[Pasted image 20240807115150.png]]
ui界面编辑,弄一个pushbutton按钮,用来关闭网页
![[Pasted image 20240807115337.png]]
尺寸和属性参考
![[Pasted image 20240807115415.png]]
![[Pasted image 20240807115436.png]]
![[Pasted image 20240807115455.png]]
头文件,是继承自ShadowDialog阴影特效类; 声明的私有变量中,还包含miniblink前置ui相关的MiniBlinkUI变量;
![[Pasted image 20240807115558.png]]
源文件,构造函数中,实例化前置MiniBlinkUI窗体,作为子窗体;通过setParent函数,设置当前背景,为父窗体即可,参考[[解决网页在qt半透明情况下,无法正常渲染的问题]]; 在initSignals初始化信号的函数中,通过connect的方式,把pushbutton按钮的点击,和CloseAll函数调用,关联起来; 而CloseAll函数,是调用前置MiniBlinkUI窗体的CloseAll函数,关闭各事件相关,窗体指向,也是设置为空指针,参考[[nullptr]];
![[Pasted image 20240807115709.png]]