GitHub開源推薦 | VS炫酷Dock

?Github 開源推薦
專注分享 GitHub 上有趣、好玩的開源項目,以幫助大家提高編程技巧,找到編程樂趣。
如果你對開源感興趣,想和大家分享一些優(yōu)質(zhì)項目,隨時歡迎投稿(微信號:iwaleon)。
使用過 VS 的朋友,一定對 dock 不陌生,無論布局、停靠、還是拖拽都非常好用,尤其是在功能較多,界面較復(fù)雜的程序中。
雖然 Qt 也有類似的功能(QDockWidget),但相對較弱。如果自己寫的話,又得花很大精力(不建議造輪子)。因此呢,給大家分享兩個不錯的Github 開源項目:
https://github.com/JackyDing/QtFlex5
https://github.com/mfreiholz/Qt-Advanced-Docking-System
感興趣的朋友可以學(xué)習(xí)一下,研究研究其框架結(jié)構(gòu)以及具體的實現(xiàn)細(xì)節(jié)。
1
QtFlex5
進(jìn)入上述地址,下載 QtFlex5 并解壓縮,目錄結(jié)構(gòu)如下所示:

打開 QtFlex.pro,如果直接編譯,會出現(xiàn)以下錯誤:

要解決這個問題,需要將 src.pro 中包含的路徑修改為自己的 Qt 路徑,例如:
INCLUDEPATH?+=?"C:/SoftWare/Qt/Qt5.12.3/5.12.3/msvc2017_64/include/QtCore/5.12.3"
INCLUDEPATH?+=?"C:/SoftWare/Qt/Qt5.12.3/5.12.3/msvc2017_64/include/QtGui/5.12.3"
INCLUDEPATH?+=?"C:/SoftWare/Qt/Qt5.12.3/5.12.3/msvc2017_64/include/QtGui/5.12.3/QtGui"
INCLUDEPATH?+=?"C:/SoftWare/Qt/Qt5.12.3/5.12.3/msvc2017_64/include/QtWidgets/5.12.3"
INCLUDEPATH?+=?"C:/SoftWare/Qt/Qt5.12.3/5.12.3/msvc2017_64/include/QtWidgets/5.12.3/QtWidgets"
完成之后,重新編譯,運行效果如下:

2
Qt-Advanced-Docking-System
同上,下載 Qt-Advanced-Docking-System 并解壓縮,目錄結(jié)構(gòu)如下所示:

打開 build.pro,進(jìn)行編譯(一次性成功),直接運行,效果如下:

3
一較高下
跨平臺特性:QtFlex5 只能運行在 Windows 中,而 Qt-Advanced-Docking-System 在 Windows 和 Linux 平臺上都可以運行(Mac 未測 - 窮)。
功能比較:均可以浮動、停靠,改變窗體位置,顯示浮動十字,并能夠保存上次的窗口狀態(tài)。
樣式風(fēng)格:QtFlex5 更炫酷一些,而 Qt-Advanced-Docking-System 更傳統(tǒng)一些。
......
其實,這兩個都有一些 Bug。但相比之下,Qt-Advanced-Docking-System 更穩(wěn)定一點,這已經(jīng)被我用于正式項目中了,效果很不錯!
·END·

