回到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]]