使用 C++ 在我的应用程序的菜单栏中创建“保存当前设置”功能

Posted

技术标签:

【中文标题】使用 C++ 在我的应用程序的菜单栏中创建“保存当前设置”功能【英文标题】:Creating a "Save Current Setting" feature in the menu bar of my app using C++ 【发布时间】:2013-05-07 17:21:23 【问题描述】:

我目前实现了一个具有执行某些图像处理功能的功能的应用程序。每次运行该应用程序时,我都会丢失以前用于分析图像的设置。目前,该应用程序不包含菜单栏功能。我希望通过菜单栏,我可以保存当前设置(我指的是我设置的参数),以便我可以随时轻松恢复到原始设置。我正在考虑在我的应用程序中实现“保存当前设置”功能。有人可以指导我如何去做吗?

注意:我正在使用 Windows 7 操作系统,我希望在 QT 或 MFC 中创建 UI。

编辑(重新发布评论):应用程序接收图像并允许工具操作员分析它们。我改变了应用程序中的参数(例如:用于调整过滤器窗口大小的滚动条、单选按钮、复选框、列表框等)。我用不同的设置得到不同的结果。目前它没有任何菜单栏功能。我想要一个按钮来保存参数设置。假设如果我运行该应用程序 5 次并且我发现运行 3 次更好,我需要保存该设置以便我可以随时恢复到它。

谢谢

【问题讨论】:

你试过什么?你到底想做什么? (您是要创建按钮,我敢肯定有很多教程,或者编写代码来保存设置?)请参阅faq 我很抱歉不清楚。感谢您向我指出常见问题解答。我有一个应用程序可以接收图像并分析它们。我改变了我的应用程序中的参数(例如)用于调整过滤器、单选按钮、复选框、列表框等的窗口大小的滚动条。我用不同的设置得到不同的结果。目前它没有任何菜单栏功能。我想要一个按钮来保存参数设置。假设如果我运行该应用程序 5 次并且我发现第 3 次运行更好,我需要保存该设置以便我可以随时恢复到它。 那么QMenu 可能是查找菜单的好地方,对于设置,您可以使用std::fstream 编写自己的.ini 或尝试Rich 提到的QSettings 类。编辑:如果您需要,这里是QMenu example 【参考方案1】:

我不使用任何一个(Qt,MFC),但我认为它在任何地方基本上都是相同的概念:

    设置

如果您希望能够存储应用程序设置,请将它们放在一个文件中,并在应用程序启动时读取该文件。一些系统内置了应用程序设置技术(例如 Glib 中的 GSettings)。我确信 Qt 有一些设置界面。即使没有,也只需将它们写入密钥文件(也称为 INI)。

    菜单项

我强烈建议您进行认真的界面设计。将其作为项目的一个单独部分进行,不要将编码与界面设计混为一谈。单独列出您的应用需要执行的操作,并尝试将它们排列在按钮和菜单中。欢迎您使用现有应用程序使用的约定。例如,一些 GNOME 应用程序具有非常简单和易于使用的界面(但有时会以更少的功能为代价),您可以查看这些界面。

您还可以阅读 Gnome 人机界面指南,这是一个很好的文档。

    添加菜单栏

我确信 MFC 和 Qt 都有一个 Menu 类。要么创建一个 abject 并将其打包到 Window 类中,要么使用 GUI 设计器创建 GUI,可能是 KDevelop 或 QtDesigner(或任何 KDE 用于 Qt GUI 设计的工具),然后在那里进行设计。

祝你好运。

【讨论】:

在QT中有一个类,叫做QSettings qt-project.org/doc/qt-4.8/qsettings.html

以上是关于使用 C++ 在我的应用程序的菜单栏中创建“保存当前设置”功能的主要内容,如果未能解决你的问题,请参考以下文章

如何在 QMainWindow 中创建菜单栏

如何在我的程序的开始菜单中创建一个菜单?

在我的代码中添加菜单栏时 Python 中的 TkInter 错误

如何使用 CBV 在我的所有 Django 模板中创建侧边栏?

发现为啥在我的 C++ 应用程序中创建线程及其作用的最佳方法是啥?

创建没有导航栏按钮的弹出菜单