2016-09-19 2 views
0

Lorsque QWebView charger certains sites Web (lorsque la connexion à facebook, tumblr), il est des accidents, est là quelque chose qui devrait être activé avant d'ouvrir l'URL, j'utilise Qt 5.5.1 voici le codeaccident QWebView lors du chargement URL

Widget::Widget(QWidget *parent) : 
    QWidget(parent), 
    ui(new Ui::Widget) 
{ 
    ui->setupUi(this); 

    wv = new QWebView; 
    wv->setParent(this); 

    wv->load(QUrl("https://www.tumblr.com")); 
} 
+0

Veuillez inclure la trace de la pile dans cette question (ou toute question liée au plantage.) – MrEricSir

Répondre

2

Vous êtes confrontés à des bogues dans une ancienne version de Qt. Vous n'avez rien d'autre à faire que de mettre à jour Qt et de passer au QWebEngineView, ou d'utiliser des API de plate-forme directement pour lancer un widget de navigateur, par ex. l'Internet Explorer contrôle ActiveX à l'aide ActiveQt sous Windows, ou en utilisant l'objet WebView sur OS X.

Si vous êtes lié à Qt 5.5.1 et vous insistez sur l'utilisation de son intégré WebKit, vous avez pas le choix mais pour utiliser une version de débogage de Qt, exécutez votre projet sous un débogueur, voyez où il se bloque, et voyez s'il y a un correctif en amont pour cela (sens amont dans le projet webkit lui-même). Vous devez ensuite rétroporter le correctif vers la version de Webkit fournie dans Qt 5.5.1. Vous devrez peut-être répéter ce processus plusieurs fois, étant donné que je m'attendrais à ce que vous rencontriez plus d'un bogue qui plante dans du code ancien.

+0

J'ai téléchargé qt 5.7 et je ne peux pas utiliser qwebview, pouvez-vous me donner un exemple sur la façon d'utiliser webview et ouvrir l'URL. –

+0

@abdallahallam, comme la réponse indique que vous devez passer à [Qt WebEngine] (https://doc.qt.io/qt-5/qtwebengine-index.html). – Mike

+0

Il y a de la documentation - lisez-la. Vous voulez utiliser 'QWebEngineView'. –