Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt qml webview gmail.com,其他,未加载或不完整_Qt_Qml - Fatal编程技术网

Qt qml webview gmail.com,其他,未加载或不完整

Qt qml webview gmail.com,其他,未加载或不完整,qt,qml,Qt,Qml,我正在使用QML网络视图。对于像这样的网站,它似乎工作得很好 intel.com、apple.com、cnn.com、foxnews.com,但是如果我尝试 加载gmail.com或hotmail.com时,它似乎只加载以下html: <html><head></head><body></body></html> ==== load finished (未显示其他事件) 有人知道我可能做错了什么吗? 如果我错过了一个设置我

我正在使用QML网络视图。对于像这样的网站,它似乎工作得很好 intel.com、apple.com、cnn.com、foxnews.com,但是如果我尝试 加载gmail.com或hotmail.com时,它似乎只加载以下html:

<html><head></head><body></body></html>
==== load finished
(未显示其他事件)

有人知道我可能做错了什么吗? 如果我错过了一个设置我不知道,因为有这么少 有关“设置”的文档(除非其明显)。我们正在使用 4.7.1然而,我确实尝试了4.8.2,得到了相同的结果

谢谢

[编辑]一位同事建议这可能是用户代理问题。我见过 许多关于修改C++版本QWebVIEW的文章,但我没有看到 除非我直接破解Qt源代码,否则从QML端怎么做是可能的。 有人认为这可能是问题所在吗?我会怀疑的,因为gmail.com是有效的 在我的桌面上的其他网络浏览器(Ubuntu11.10)中一切正常

[编辑]我在Qt4.7.1中编译了“浏览器”示例,它在那里也不起作用。 前几天,Qt推出了4.8.3,当我在那里编译“浏览器”时,它(浏览器)工作了。我注意到gmail.com从http:改为https:所以我想可能是这样 因为我们在编译QT时没有使用openssl。我试着编译4.7.1和4.8.3 有了openssl,我的QML问题就没那么幸运了

[SEMI-SOLVED]的QT文档很差(对于初学者来说)。QMLWebView不支持 在他们的文档中告诉您需要安装自己的NetworkAccessManagerFactory。 DeclarativeView有一个engine()(至少在4.7.1中是这样),您可以在其中使用自己的工厂调用setNetworkAccessManagerFactory()。既然我这么做了,它就起作用了 在我的桌面上,但不是在我们的嵌入式linux设备上。虽然它没有以10%的价格“锁定”gmail.com的下载,但它现在失败了。我还必须用openssl编译Qt, 但是,它正在加载我的openssl库(ssl和crypto),但不在 嵌入式设备。很奇怪

[解决]奇怪,但似乎我没有实现QNetworkAccessManager::sslErrors(QNetworkReply*,QList)) 信号。这对桌面没有任何影响,但当我使用嵌入式设备时,它就消失了 不起作用,现在起作用了

WebView {
    id: webView
    focus: true
    preferredWidth: webkit.width
    preferredHeight: webkit.height
    settings.autoLoadImages: true
    settings.javascriptEnabled: true
    settings.javascriptCanOpenWindows: true
    settings.minimumFontSize: 12
    settings.defaultFontSize: webkit.fontsize
    url: ""

onLoadFinished: {
        console.debug(webView.html);
        console.debug("==== load finished");
}
}