一 前言
不知道各位程式設計師有沒有遇到過這樣一種困惑,好不容易在開源網站找到了類似的想要的專案程式碼,結果down下來一編譯,我勒個去,幾百個錯誤,根本沒法用,熟悉的人還好可以直接閱讀程式碼進行修改(有些只要做小改動就能正常編譯,有些可能需要大刀闊斧),可是對於絕大部分的初學者來說絕對是噩夢,連把程式碼看下去的勇氣都沒有,我們沒有任何權利和理由去責怪開原作者,只是期望各位能夠在專案開源的同時,將開源專案完善好、測試好,最起碼要把專案中依賴的遺漏的檔案一起打包好,或者作出必要的說明,比如對應的開發編譯版本要求,以來的檔案去哪裡下載。很多優秀的專案就毀在這個地方,沒人完善和維護(可能因為沒有耐心,也沒有持續的收入來源,所以乾的沒勁,作者甚至轉行送外賣了)。只有解決了這個痛點才能使得對應的開源專案持續發光發熱。
本人自從學習Qt開發以來,開源過至少上百個專案(大部分早期開源的目前不在開源主頁,有空會全部整理好重新發布),我要是說在國內Qt界開源的專案數量和質量排第十的話,沒人敢說排第一、第二、第三...到第九。關於無邊框介面方案,網上也有不少的優秀的開源的例子,99%都存在以下幾個問題,針對以上問題,解決這些痛點,藉助自己剛好有多個作業系統、幾十個Qt版本的開發測試環境,特意完善了這個無邊框類。
- 無法正常編譯,缺少檔案,作者真粗心,自己都沒測試過。
- 只限定了部分特定的版本才能編譯。
- 只解決了單個問題,比如無邊框拖動,沒有系統特性拉到左側右側半屏、頂部最大化。
- 程式碼趕鴨子上架,複製貼上的一坨坨,毫無章法。
- 程式碼就是給作者自己用的,放上去就是給個參考,管他那麼多。
- 往左側拉動抖動的厲害。
- mac系統上不能最小化。
- 不能同時支援win、linux、mac三種主流作業系統。
二 功能特點
- 同時支援Qt4-Qt6,親測Qt4.7到Qt6.1。
- 同時支援mingw、msvc、gcc等。
- 同時支援windows、linux、mac。
- 同時支援QMainWindow、QWidget、QDialog。
- 使用方法極其簡單,只需要將繼承類修改即可。
- 自動識別雙擊標題欄響應。
- 無邊框拉伸在windows下不抖動。
- 在windows下具有移動到邊緣半屏、移動到頂部全屏特性。
- 解決mac系統上無邊框最小化最大化失效的BUG。
- 解決系統休眠後再次啟動程式懵逼的BUG。
- 解決有時候窗體重新顯示的時候假死不重新整理的BUG。
- 輕量級,1個程式碼檔案,核心程式碼行數不到300行。
- 註釋詳細,示例完美,非常適合閱讀和學習。
- 開源開箱即用,保證任意Qt版本可正常編譯執行,無需任何調整。
三 效果圖
1 windows
2 ubuntu
3 uos
4 kylin
5 mac
四 特別說明
- 點贊、評論、留言、轉發、發程式碼。
- 國內站點:https://gitee.com/feiyangqingyun/QWidgetDemo
- 國際站點:https://github.com/feiyangqingyun/QWidgetDemo