MySQL Workbench 手冊  /  擴充 Workbench  /  使用 MForms 為外掛程式新增 GUI

C.4 使用 MForms 為外掛程式新增 GUI

MySQL Workbench 是以 C++ 核心後端和每個支援平台的原生前端實作的。目前,前端是以 Microsoft Windows 上的 Windows Forms、Linux 上的 GTK+ 以及 OS X / macOS 上的 Cocoa 實作的。這種方法允許應用程式具有原生的外觀和風格,同時減少維護專案所需的工作量。但是,MySQL Workbench 所需的 GUI 功能可以透過一組圖形操作來滿足。這些操作實作在跨平台的 GUI 程式庫 MForms 中。這進一步減少了開發工作,因為外掛程式開發人員可以使用 MForms,而不必為每個支援的平台編寫特定於前端的程式碼。這也有助於確保所有平台操作的一致性。MForms 是以 C++ 編寫的,但提供了 Python 介面。若要使用它,Python 程式碼必須匯入 mforms 模組。

MForms 容器

考慮到跨不同平台使用絕對座標系統的問題,MForms 使用執行自動版面的容器。MForms 提供的基本容器包括:

  • Form:最上層視窗,可包含單一控制項,通常是另一個容器。視窗會自動調整大小以符合其內容,但也可以靜態調整大小。

  • Box:此容器可以用垂直或水平版面配置填滿一個或多個控制項。每個子控制項都可以設定為使用最小所需的空間,或在版面配置方向上填滿方塊。在垂直於版面配置的方向(例如水平版面配置中的垂直方向),將會使用可容納所有子控制項的最小可能大小。因此,在此範例中,將使用可容納控制項的最小可能高度。

  • Table:此容器可以在格線中組織一個或多個控制項。表格中的列數和欄數以及控制項在格線中的位置,可以由開發人員設定。

  • ScrollView:此容器可以包含單一子控制項,如果內容不符合可用空間,則會新增捲軸。