我的程序有一个保存配置文件的GUI,如何双击该配置文件以直接加载带有配置数据的GUI? P>我有这个C++程序,我在Windows上运行了一个GUI应用程序(使用QT5)。 在GUI上,您可以输入一些数据(例如姓名、年龄、日期等)。利用这些数据可以进行一些处理

我的程序有一个保存配置文件的GUI,如何双击该配置文件以直接加载带有配置数据的GUI? P>我有这个C++程序,我在Windows上运行了一个GUI应用程序(使用QT5)。 在GUI上,您可以输入一些数据(例如姓名、年龄、日期等)。利用这些数据可以进行一些处理,c++,windows,qt,user-interface,symlink,C++,Windows,Qt,User Interface,Symlink,GUI能够将我输入的数据(姓名、年龄、日期等)序列化并保存到二进制或文本文件(基本上是任何文件)中。GUI还可以使用此数据加载此配置文件 然而,我想要的是,无论我在哪里保存这个配置文件,我都希望能够双击这个配置文件,它应该链接到GUI应用程序来运行,当然,还可以显示保存在配置文件中的数据 所以我的问题是,我需要什么工具/注意事项才能获得此功能(至少在Windows上)?实现此功能的方法可能不止一种。下面是我要做的: 为配置文件创建一个唯一的文件类型(一个点扩展名,比如.myappconf或类似

GUI能够将我输入的数据(姓名、年龄、日期等)序列化并保存到二进制或文本文件(基本上是任何文件)中。GUI还可以使用此数据加载此配置文件

然而,我想要的是,无论我在哪里保存这个配置文件,我都希望能够双击这个配置文件,它应该链接到GUI应用程序来运行,当然,还可以显示保存在配置文件中的数据


所以我的问题是,我需要什么工具/注意事项才能获得此功能(至少在Windows上)?

实现此功能的方法可能不止一种。下面是我要做的:

  • 为配置文件创建一个唯一的文件类型(一个点扩展名,比如.myappconf或类似的东西)
  • 为应用程序创建具有该文件类型的文件关联。当您在Linux上时,这通常在安装程序或.desktop文件中完成
  • 现在,通过这种关联,双击文件的动作将触发操作系统运行应用程序的新副本,并将其与配置文件一起呈现(通过命令行参数)
  • 应用程序应该在启动时检查是否已经有一个副本在运行。如果是这样,它应该向旧副本发送有关配置文件的通知,然后自行终止

注意:如果双击操作可以启动新副本而不是将文件加载到旧副本(如果有),则可以跳过最后一步。

实现此功能的方法可能不止一种。下面是我要做的:

  • 为配置文件创建一个唯一的文件类型(一个点扩展名,比如.myappconf或类似的东西)
  • 为应用程序创建具有该文件类型的文件关联。当您在Linux上时,这通常在安装程序或.desktop文件中完成
  • 现在,通过这种关联,双击文件的动作将触发操作系统运行应用程序的新副本,并将其与配置文件一起呈现(通过命令行参数)
  • 应用程序应该在启动时检查是否已经有一个副本在运行。如果是这样,它应该向旧副本发送有关配置文件的通知,然后自行终止

注意:如果双击操作可以启动新副本,而不是将文件加载到旧副本(如果有),则可以跳过最后一步。

为了清晰起见:“将其与配置文件一起呈现”意味着文件路径将作为命令行参数给定,因此只需读取参数即可。对于疑难解答,您可以(至少在windows下,也可能在linux下)将配置文件直接拖放到应用程序可执行文件上。这也将以文件作为参数启动它。@AlexGeorg啊,好的,所以我假设以文件作为参数运行gui指示我更新主和gui构造函数以适应这一点。除非另有规定?@MoKanj是的,差不多。这里有一个简单的介绍:为了清楚起见:“用配置文件呈现”意味着文件路径将作为命令行参数给出,所以只需读取参数即可。对于疑难解答,您可以(至少在windows下,也可能在linux下)将配置文件直接拖放到应用程序可执行文件上。这也将以文件作为参数启动它。@AlexGeorg啊,好的,所以我假设以文件作为参数运行gui指示我更新主和gui构造函数以适应这一点。除非另有规定?@MoKanj是的,差不多。这里有一个简单的介绍: