導航:首頁 > 源碼編譯 > qt怎麼clear後重新編譯

qt怎麼clear後重新編譯

發布時間:2025-04-10 07:05:44

㈠ 基於Qt的Live2D示例(幾乎都是官方給的代碼就是啦!)

長久未更新,計劃在疫情期間整理某段遺忘代碼,卻意外發現了Live2D的趣味性。由此,我萌生了將Live2D模型投射到屏幕上的想法。Live2D在C++的桌面引擎中支持DirectX、OpenGL、Cocos2d-x,我選擇使用OpenGL的Cubism SDK。由於Qt也支持OpenGL,我利用Qt資源簡化了開發過程。首先下載Cubism SDK並編譯Demo,遇到錯誤後修改CMakeLists.txt以兼容最新版本的msvc編譯器,同時加入glew和glfw,項目順利編譯。接下來分析代碼文件,移除無用部分並用Qt的QOpenGLWidget替代LAppView。為了兼容OpenGL函數,修改Framework,使QOpenGLWidget支持glClearDepthf。調整窗口屬性以實現「透明」效果,包括設置窗口屬性和響應WM_MOUSEACTIVATE消息。盡管窗口看起來透明,但模型仍然遮擋屏幕,這與項目中遇到的類似問題相關。嘗試使用WS_EX_LAYERED解決,但失敗後我採用了一種新的方法:通過LAppModel的HitTest介面判斷滑鼠是否在模型上,進而動態調整窗口屬性實現透明。處理坐標變換以確保模型正確顯示。通過LAppModel和LAppDelegate整合LAppLive2DManager類,移除模型切換代碼,實現模型固定位置顯示。利用矩陣調整模型位置,允許通過滑鼠拖動模型。實現了一個可拖動的模型,並在接下來探討Windows Toast Notification的集成。對於UWP應用相對簡單,但Win32程序涉及COM介面的復雜性。通過定義AppUserModelID和CLSID,復制組件,實現Toast Notification的生成。Toast可以區分用戶點擊的具體消息,並在程序初始化時進行配置。檢測Toast激活參數後,避免載入圖形界面,僅在Toast激活時執行函數。最後,解決了插件系統相關的線程問題、數據拉取的cookies存儲、libzip的文件管理等復雜性,確保了程序的正常運行。此外,還實現了一些有趣的功能,如音樂播放、查詢未提交作業、文件壓縮等插件。整個項目涉及多種技術挑戰,最終完成了從代碼到功能的完整實現。分享鏈接,將release版本發布。

閱讀全文

與qt怎麼clear後重新編譯相關的資料

熱點內容
鴻蒙編譯器系統講授 瀏覽:541
解壓神劇電視劇解說 瀏覽:984
vscodepython遠程解釋器 瀏覽:959
壓力支撐主圖疊加源碼 瀏覽:627
pdf導出pdf 瀏覽:729
命令與征服將軍修改 瀏覽:515
政治生活pdf 瀏覽:735
protel單片機元件庫 瀏覽:928
安卓手機為什麼一直顯示安裝失敗 瀏覽:869
TUB為什麼進不了伺服器 瀏覽:619
簡易加密英文的常用手段 瀏覽:309
手機里a文件夾 瀏覽:612
雲圖計劃演算法重構怎麼用 瀏覽:669
怎麼給pdf加批註 瀏覽:962
冰櫃壓縮機cop為什麼低 瀏覽:927
怎麼創造一個秘密文件夾 瀏覽:976
電腦復制加密門禁卡到華為手機 瀏覽:405
怎麼入駐地圖app 瀏覽:996
學會自我調節和解壓 瀏覽:858
安卓怎麼顯示地區 瀏覽:390