#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, чтобы помочь вам в этом.