Как мы можем закрыть открытый URL-адрес через программу?

#qt #qt4

#qt #qt4

Вопрос:

Я использую QDesktopServices::openUrl(url); для открытия URL-адреса.

Как я могу закрыть это с помощью пользовательского кода?

Ответ №1:

Вы открываете свой URL-адрес в окне браузера, над которым пользовательский код не имеет никакого контроля. Таким образом, в принципе вы не можете закрыть браузер.

Обходным решением может быть то, что вы пишете скрипт и определяете, открыт ли браузер в системе, если да, вы можете закрыть браузер, завершив этот процесс. Но я не рекомендую этот метод, поскольку на некоторых платформах он имеет много проблем с безопасностью и соответствием стандартам.

Редактировать:

Вам не нужно создавать свой собственный браузер, просто используйте Qt Webkit для отображения открытого URL-адреса в вашем собственном окне.

Ответ №2:

Боюсь, я не верю, что вы можете закрыть URL-адрес с помощью Qt-кода с помощью QDesktopServices.

Пользователь мог настроить свою операционную систему на открытие URL-адресов с любым количеством разных браузеров, и я не понимаю, как было бы целесообразно, чтобы Qt был закодирован, чтобы знать, как закрывать все разные типы браузеров пограматически, на каждой поддерживаемой ими платформе.

Редактировать

Альтернативой является установка виджета браузера в ваше приложение. Тогда у вас будет контроль над этим. Qt предоставляет несколько довольно мощных инструментов для иб. Смотрите документацию Qt WebKit.

Комментарии:

1. Хорошо, я отредактировал свой ответ, чтобы добавить примечание об использовании Qt WebKit, чтобы помочь вам в этом.