User interface 配置基于GUI的程序

User interface 配置基于GUI的程序,user-interface,configuration-files,User Interface,Configuration Files,我有一个相当复杂的数字运算逻辑和相当多的配置参数的程序。该程序(几乎)是非交互式的,通过命令行参数和配置文件进行配置 我被要求向这个程序添加GUI。当然,这个GUI必须包含一个配置屏幕(选项卡,无论什么),其中包含所有必需的参数。我一生中从未做过任何严肃的GUI,所以我不知道如何完成这项任务 当然,可以加载配置文件并创建所需的小部件。然而,使用这种方法,小部件标签将是“技术性的,而不是信息性的”。我正在寻找一种存储人类可读的参数名称的方法,同时工具提示只会为参数、标签和工具提示文本的维护带来最小

我有一个相当复杂的数字运算逻辑和相当多的配置参数的程序。该程序(几乎)是非交互式的,通过命令行参数和配置文件进行配置

我被要求向这个程序添加GUI。当然,这个GUI必须包含一个配置屏幕(选项卡,无论什么),其中包含所有必需的参数。我一生中从未做过任何严肃的GUI,所以我不知道如何完成这项任务

当然,可以加载配置文件并创建所需的小部件。然而,使用这种方法,小部件标签将是“技术性的,而不是信息性的”。我正在寻找一种存储人类可读的参数名称的方法,同时工具提示只会为参数、标签和工具提示文本的维护带来最小的额外负担。使用自制格式将此信息存储在默认配置文件中是否是一种好方法


FWIW我正在wxPython中编写GUI,我的配置文件是文件。该程序将由我的队友使用,因此不考虑恶意用户场景。

通常的方法使用几个部分

首先,您拥有构建UI的代码。这将读取一个包含所有标签、按钮和工具提示文本的文件,并将它们放在正确的位置

第二部分是读取和写入配置文件的代码。您希望在配置文件中使用技术键(=仅对某些人可读),以避免在向UI添加新语言时出现问题(您不希望在有人将UI翻译为德语时更改配置键)

因此每个UI元素都有一个技术ID。在文本的配置中,您将使用
ID.label
ID.tooltip
。在“real”配置(也称为首选项)中,您将使用ID将所选值映射到UI元素