KDDockWidgets,QDockWidget的高級實現框架

KDQDockWidget

群組 KDAB是Qt,C ++和OpenGL應用程序的軟件顧問 除此之外,還適用於不同的平台(台式機,嵌入式和移動平台) 提供輔導以從頭開始開發Qt應用程序 並將所有流行的幀傳輸到Qt。

這些年來 KDAB為QDockWidget的開發做出了貢獻並提供了資金。 但是由於使用QdockWidget進行更改和錯誤修復需要花很多天的時間, 事實證明這不是一個好選擇,因此誕生了KDDockWidgets。

KDDockWidgets是 QDockWidgets的高級停靠框架,通過添加QDockWidgets不支持的功能來擴展其用途。

QdockWidget將GUI代碼與具有狀態的邏輯本地結合在一起, 勞闕 使得採用新功能前進非常困難, 這導致在不同平台上實施它的複雜性。 由於它是一系列圖形用戶界面的基本組成部分,因此您可以將整個窗口元素(工具欄,小部件組等)移動到任意位置。

黃大仙禁運, KDAB認為QDockWidgets代碼的維護不是一件容易的事, 他評論說:

在從事兩個需要大量定制的項目之後,KDDockWidgets出於維護我的理智的需要而誕生。 我們試圖直接在上游工作的地方,但是回歸的速度最終太大了。

還有另一個我使用私有API,偽造的鼠標事件和事件過濾器的方法,起初似乎是個好主意,但最終卻是一個痛苦的世界。 另外,我們的客戶在請求方面變得更具創意,因此很明顯,我們需要一個更好的對接框架。

主要問題是它的設計,它非常單一但可配置(對於動畫,我們可以選擇用戶可用的功能,即使很少有人這樣做),也帶有意大利麵條代碼(愉快地將邏輯和組件狀態混合在一起)。 因此,任何更改都可以創建大量回歸。

這就是為什麼KDAB決定創建KDDockWidgets的原因,它試圖極大簡化QDockWidgets設計,同時促進其適應特定情況。

KDDockWidgets提供以下功能:

  • 能夠將小部件停靠在浮動窗口中並將該組停靠到主窗口
  • 停靠到任何窗口,而不僅僅是主窗口
  • 停靠在主窗口的中央
  • 支持主窗口中央小部件中的可分離選項卡
  • 能夠從擴展塢中的標籤欄分離標籤
  • 通過組合各種組件來組合多個選項卡的能力。
  • 公開內部幫助窗口小部件,以便用戶可以自定義它們或提供自己的窗口小部件。
  • 組件組可以從外部窗口(僅包含此組件組)自由切換到主窗口(在Qt 5.10中部分實現的功能)。
  • 自定義標籤小部件
  • 自定義標題欄
  • 自定義窗框
  • 除了強調主要的變化之外,還添加了精確的指示器以從GUI中刪除元素,此外,中央窗口小部件的概念也消失了,因為它不再是特定的元素。

新組織清楚地將邏輯與圖形界面分開,因此基礎運行時為 可以輕鬆地重新用於Qt Quick接口 (最終可以預期)。 它還使自定義界面變得容易,用戶可以為界面的任何部分提供自己的窗口小部件。

另外, KDDockWidgets旨在成為一個框架,因此您可以輕鬆地覆蓋接口 提供自定義外觀和行為。 KDDockWidgets是一個開源框架, 已獲得GPLv2和GPLv3許可。

可以使用KDDockWidgets代碼及其演示 在下面的鏈接中。


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。