PyQt在同一应用程序实例中从自定义uri方案打开URL

时间:2018-05-29 02:23:19

标签: python windows pyqt pyqt5

我不知道这是否已经在这里得到了回答,但我找不到任何对我有帮助的东西。

无论如何,我在Windows上使用PyQt5,我创建了一个自定义URI方案,打开我的应用程序,然后应用程序解析命令参数,然后进行所需的处理。一切都按预期工作,但我想弄清楚如何在同一个应用程序实例中打开所有内容。

例如,如果我有几个自定义链接,例如

foo://bar
foo://bar2
foo://bar3

如果每次执行时都不打开新的应用程序,我怎么能在同一个实例中打开它们呢?

1 个答案:

答案 0 :(得分:0)

如果有人感兴趣,我发现了一个非常好的解决方案,至少对我需要的是什么。经过大量的环顾四周,我遇到了这个使用套接字的Answer。我稍微修改了一下以满足我的需求并创建了一个client.exe文件,我现在与我的自定义URI方案相关联,而不是我的主应用程序。因此,我现在不使用URL协议注册表项中的主应用程序路径,而是使用它。

"C:\testapp\client.exe" "--data" "%1"

现在,当我点击如下链接时,

foo://bar

命令运行并打开client.exe,我只是用argparse解析参数,然后通过套接字将数据发送到我的主应用程序。我不知道是否有更好的方法可以做到这一点,但它似乎适用于一个简单的解决方案。