gpt4 book ai didi

c++ - QtWebkit:如何处理自定义协议(protocol)

转载 作者:行者123 更新时间:2023-11-30 04:22:24 26 4
gpt4 key购买 nike

我正在使用 qt 和 qtWebkit 编写应用程序,用于访问 Web 应用程序。在 Web 应用程序中,我们有各种需要处理的自定义协议(protocol),例如'我的协议(protocol):var1=1&var2=2'。使用此协议(protocol)时,我的应用程序应打开另一个程序。我如何检测这些自定义协议(protocol)之一何时被命中?

我看到了一些涉及“重新实现 QWebPage::acceptNavigationRequest”的类似问题的答案,但我不知道该怎么做。

有没有其他人必须在 qtWebkit 中处理自定义协议(protocol)?

最佳答案

如果您监听“finished(QNetworkReply *)”信号,该信号调用带有以下代码的插槽。您可以从回复中包含的请求中获取协议(protocol)的 URL。从那里您可以检查它是否是您要启动的协议(protocol),如果是,您可以使用 QDesktopServices::openUrl(reply->request().url()); 启动应用程序。 p>

QString scheme = reply->request().url().scheme();
if (scheme == QLatin1String("mailto")
|| scheme == QLatin1String("myprotocol")) {
QDesktopServices::openUrl(reply->request().url());
}

关于c++ - QtWebkit:如何处理自定义协议(protocol),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13842851/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com