wxPython官方文档中文翻译 - Command概述

78 阅读2分钟

官方文档:docs.wxpython.org/command_ove…

Command概述

wx.Command是用于对应用程序命令进行建模的基类,应用程序命令是一种通常通过选择菜单项、按下工具栏按钮,或者使用应用程序提供的任何其他方式来执行的操作,其目的是更改数据或视图。

与应用程序的功能以一种可能难以阅读和维护的方式分散在条件语句和函数中不同,命令的功能被明确地表示为一个对象,该对象可以由框架或应用程序进行操作。

当用户界面事件发生时,应用程序会向一个wx.CommandProcessor对象提交一条命令,以便执行和存储该命令。

wxPython的文档/视图框架通过使用wx.Commandwx.CommandProcessor对象来处理撤销和重做操作。你可能会发现Command还有其他用途,比如实现一种存储、加载和重放命令的宏功能。

一个应用程序可以为每个命令派生一个新类,或者更常见的是,使用一个用整数或字符串命令标识符进行参数化的类。

CommandProcessor概述

wx.CommandProcessor是一个类,它维护着wx.Command实例的历史记录,并内置了撤销/重做功能。如果你想要不同的行为表现,可以从此类派生一个新类。

FileHistory概述

wx.FileHistory封装了记录最近访问的几个文件的功能,并允许用户通过附加在“文件”菜单上的列表快速加载这些文件。尽管wx.FileHistory被wx.DocManager所使用,但它也可以独立使用。你可能希望从它派生一个类,以实现不同的行为,比如弹出一个可滚动的文件列表。

通过调用wx.FileHistory.UseMenu,你可以将一个文件菜单与文件历史记录相关联。然后,该菜单将用于添加被加入到历史记录中的文件名。

注意:请注意,目前如果在调用UseMenu()时历史记录中已经包含了文件名(例如,在初始化第二个多文档界面(MDI)子框架时),菜单不会自动使用历史记录中已有的文件名进行初始化。因此,你需要在调用UseMenu()之后显式地调用wx.FileHistory.AddFilesToMenu,以便使用最近使用(MRU)文件的现有列表来初始化菜单(否则,在调试版本中会引发断言失败)。这些文件名会使用wx.ID_FILE1到wx.ID_FILE9范围内的菜单标识符来添加到菜单中。