導航:首頁 > 源碼編譯 > 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後重新編譯相關的資料

熱點內容
三台伺服器配置IP地址 瀏覽:171
如何用命令方塊連續對話 瀏覽:275
win7linux共享文件夾 瀏覽:302
命令符打開本地服務 瀏覽:597
android應用程序源碼 瀏覽:699
安卓開發工程師簡歷怎麼寫 瀏覽:57
熱水器水量伺服器是什麼意思 瀏覽:115
stk衛星編譯 瀏覽:478
對後台程序員的要求 瀏覽:759
ios大文件夾圖標 瀏覽:624
生的計劃pdf 瀏覽:711
oppoa93加密便簽在哪查找 瀏覽:21
兩個數字的加減乘除運算編程 瀏覽:227
給手機加密碼忘記了怎麼辦 瀏覽:601
單片機運算符 瀏覽:297
移動端微信商城源碼 瀏覽:443
編程貓下一個背景在哪裡 瀏覽:359
javaclasstype 瀏覽:240
樂高編程和樂高課的延伸 瀏覽:357
蘋果手機怎麼切換app美國賬號 瀏覽:865