Открытые URL-адреса PyQt из пользовательской схемы URI в том же экземпляре приложения - PullRequest
0 голосов
/ 29 мая 2018

Я не знаю, был ли дан ответ где-то здесь или нет, но я не могу найти ничего, что помогло бы мне.

В любом случае, я работаю с PyQt5 в Windows и создал собственную схему URI, которая открывает мое приложение, а затем приложение анализирует аргументы команды и затем выполняет необходимую обработку.Все работает, как и ожидалось, но я пытаюсь выяснить, как сделать все открыто в одном экземпляре приложения.

Например, если у меня есть несколько пользовательских ссылок, таких как

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

Как я могу сделать так, чтобы они все открывались в одном и том же экземпляре, не открывая новое приложение при каждом их выполнении?

1 Ответ

0 голосов
/ 29 мая 2018

В случае, если кому-то интересно, я нашел то, что кажется довольно хорошим решением, по крайней мере, для того, что мне нужно.После долгих осмотров я наткнулся на этот Ответ , который использует сокеты.Я немного изменил его в соответствии со своими потребностями и создал файл client.exe, который теперь ассоциируется с моей пользовательской схемой URI, а не с основным приложением.Поэтому вместо использования моего основного пути приложения в разделе реестра URL-протокола я теперь использую его вместо этого.

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

Так что теперь, когда я нажимаю на ссылку, такую ​​как:

foo://bar

Командазапускается и открывает client.exe, и я просто анализирую аргументы с помощью argparse, а затем отправляю данные через сокет в мое основное приложение.Я не знаю, есть ли лучший способ сделать это, но, похоже, он хорошо работает для простого решения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...