如何在 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 应用程序的可靠伴侣。