如何在 wxPython 中建立多個工具欄
在 GUI 程式設計領域,wxPython 已經成為一個強大而通用的庫,使開發人員能夠輕鬆地建立令人驚歎的圖形使用者介面。在眾多基本元件中,工具欄在為使用者提供快速訪問各種功能方面發揮著至關重要的作用。在本教程中,我們將深入探討使用 wxPython 建立多個工具欄的技巧。最後,您將掌握增強 GUI 應用程式的知識,透過多個工具欄提供改進的使用者體驗。
安裝
用於 GUI 原型的 wxPython 庫
作為 C++ 庫 wxWidgets 的包裝器,wxPython 允許 Python 開發人員利用這個成熟且經過實戰檢驗的框架的強大功能。它對各種平臺(包括 Windows、macOS 和 Linux)具有原生外觀和風格。使用 wxPython,您可以設計具有視覺吸引力和響應性的桌面應用程式,並使用各種小部件,例如按鈕、文字控制元件以及當然還有工具欄。
pip install wxPython
演算法
匯入 wxPython 庫。
建立一個從 wx.Frame 繼承的自定義視窗類。
透過呼叫父類建構函式並將視窗標題作為引數傳遞來初始化自定義視窗類。
在框架內建立一個面板以容納小部件。
使用 CreateToolBar() 方法為視窗建立一個工具欄。
使用 AddTool() 方法向工具欄新增三個工具
“開啟”帶有相應的圖示“icon_open.bmp”。
“儲存”帶有相應的圖示“icon_save.bmp”。
“高亮顯示”帶有相應的圖示“icon_highlight.bmp”(一個切換按鈕)。
使用 AddControl() 方法將組合框(下拉列表)作為工具 4 新增到工具欄,選項為“選擇 1”和“選擇 2”。
初始化工具欄以顯示它。
使用 Centre() 方法將視窗居中顯示在螢幕上。
使用 Show() 方法顯示自定義視窗。
使用 wx.App() 建立 wxPython 應用程式。
建立並顯示自定義視窗物件。
執行主事件迴圈,以便 GUI 在螢幕上彈出。
示例
下載並將這些圖示儲存在與指令碼相同的資料夾中,否則您將遇到錯誤。
icon_save.bmp
icon_open.bmp
icon_highlight.bmp
import wx class CustomWindow(wx.Frame): def __init__(self, title): # Initialize the parent class constructor super().__init__(parent=None, title=title) self.panel = wx.Panel(self) # Toolbar for the window toolbar = self.CreateToolBar() # Tool 1 open_tool_id = wx.ID_ANY open_tool_label = "Open" open_tool_bitmap = wx.Bitmap("icon_open.bmp") toolbar.AddTool(open_tool_id, open_tool_label, open_tool_bitmap) # Tool 2 save_tool_id = wx.ID_ANY save_tool_label = "Save" save_tool_bitmap = wx.Bitmap("icon_save.bmp") toolbar.AddTool(save_tool_id, save_tool_label, save_tool_bitmap) # Tool 3 highlight_tool_id = wx.ID_ANY highlight_tool_label = "Highlight" highlight_tool_bitmap = wx.Bitmap("icon_highlight.bmp") width, height = 24, 24 toolbar.AddCheckTool(highlight_tool_id, highlight_tool_label, highlight_tool_bitmap) # Combo Box (Dropdown) toolbar combo = wx.ComboBox(toolbar, choices=["Selection 1", "Selection 2"]) toolbar.AddControl(combo) toolbar.Realize() self.Centre() self.Show() app = wx.App() # Show the custom window custom_window = CustomWindow("TutorialsPoint wxPython MultiToolbar") app.MainLoop()
輸出
解釋
首先,匯入 wxPython 庫以使用其功能。
定義了一個名為 CustomWindow 的自定義視窗類,它繼承自 wx.Frame 類。
在 CustomWindow 類的 __init__ 建構函式內部
super().__init__(parent=None, title=title) 行使用給定的標題初始化父類建構函式 (wx.Frame),建立主視窗。
一個名為 self 的面板。該面板被建立為框架的子級。面板用於在 wxPython 應用程式中容納小部件(控制元件)。
使用 CreateToolBar() 方法為視窗建立工具欄。
使用 AddTool() 方法向工具欄新增三個工具
工具 1 具有“開啟”標籤和“icon_open.bmp”圖示。
第二個工具具有“儲存”標籤和“icon_save.bmp”圖示。
工具 3 的“高亮顯示”標籤和“icon_highlight.bmp”圖示,它被設計為一個可審計的工具(一個切換按鈕)。
使用 AddControl() 方法,將組合框(下拉列表)作為工具 4 新增到選單欄。“選擇 1”和“選擇 2”是組合框中存在的選項。
應用
要構建具有各種功能的複雜應用程式,需要工具欄。有時一個工具欄是不夠的。將功能分成多個工具欄可以簡化使用者體驗。它劃分後端邏輯,使應用程式易於使用和導航。這同樣適用於各種生產力工具(例如文字編輯器、音樂播放器等)。例如,MS Word、Excel、Jira、音樂播放器等具有多個工具欄。每個工具欄都有一個下拉選單,其中包含與該特定工具欄相關的選項。
結論
本教程演示瞭如何在 wxPython 中構建多個工具欄。使用提供的程式碼,您可以增強 GUI 應用程式的可用性。透過遵循安裝過程並理解語法,您可以將這些工具欄整合到您的專案中。為不同的功能分離工具欄可以增強可用性和使用者體驗。wxPython 是建立複雜且有吸引力的 GUI 應用程式的可靠伴侶。