IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
FAQ Qt FAQ Qt Creator FAQ PyQt & PySide

FAQ Qt

FAQ QtConsultez toutes les FAQ

Nombre d'auteurs : 26, nombre de questions : 298, dernière mise à jour : 15 juin 2021 

 
OuvrirSommaireModulesQtWebKit

Dans une application qui est linkée aux modules Core, Gui, Network et Webkit, on peut ajouter ce code à celui d'une fenêtre de votre application, dans la classe MainWindow pour l'exemple.

 
Sélectionnez
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    QNetworkProxyFactory::setUseSystemConfiguration (true);
    QWebSettings::globalSettings()->setAttribute(QWebSettings::PluginsEnabled, true);
    QWebSettings::globalSettings()->setAttribute(QWebSettings::AutoLoadImages, true);
    ui->webView->load(QUrl("http://www.youtube.com/watch?v=y1zm3bqdTkw"));
}
Créé le 7 mai 2012  par Thibaut Cuvelier

La bibliothèque des feuilles de style ne supporte pas encore la personnalisation des QWebView, mais vous pouvez changer le style des scrollbars d'un QWebView en utilisant la bibliothèque de style. Pour cela, vous pouvez surcharger votre style (ou créer un proxy de style) et réimplémenter pixelMetric() pour retourner la largeur que vous désirez lorsque la métrique est QStyle :: PM_ScrollBarExtent. En fait, QWebView n'utilise pas de QScrollBar, donc vous devez être astucieux afin que cela fonctionne. Normalement, le QWidget* passé en paramètre de pixelMetric() devrait être la scrollbar. Cependant, dans le cas de la QWebView, ce paramètre sera nul si la fonction est appelée pour la scrollbar ; il sera donc possible, dans ce cas, de retourner la taille voulue - ou, dans le cas contraire, appeler la classe parente.

Voici un exemple de code pour le faire, il se base sur QProxyStyle afin d'être utilisable avec tous les styles :

 
Sélectionnez
#include <QtGui>
#include <QWebView>
#include <QProxyStyle>
 
class Style : public QProxyStyle
{
public:
	Style(QStyle * s) : QProxyStyle(s)
		{
		}
  int pixelMetric ( PixelMetric metric, const QStyleOption * option = 0, const QWidget * widget = 0 ) const
  {
    if (metric == QStyle::PM_ScrollBarExtent && widget == 0)
      return 30;
    return QProxyStyle::pixelMetric(metric, option, widget);
  }
 
};
 
int main(int argc, char **argv)
{
  QApplication app(argc, argv);
  QWebView view;
  app.setStyle( new Style(app.style() ) );
  view.load(QUrl("https://doc.qt.io/qt-5/qwebview/"));
  view.show();
  return app.exec();
}
Créé le 7 mai 2012  par Alexandre Laurent, Pierre-Nicolas Rigal

WebKit est un moteur Web open source capable de charger du contenu Web moderne, d'en faire le rendu et d'en exécuter le code.

Ce moteur est développé par de nombreuses entreprises (Nokia, Google, Apple, etc.) dans le but de créer un moteur compétitif et respectant au mieux les standards du Web. Le point central de développement est http://webkit.org/

WebKit est à la base de nombreux projets de navigateur internet, les deux plus connus d'entre eux étant Google Chrome et Apple Safari.

Qt WebKit est un port officiel de WebKit basé sur Qt. Qt WebKit fournit à la fois les fondations de bas niveau nécessaires au fonctionnement de WebKit et les API qui permettent d'intégrer le moteur WebKit à des applications Qt.

Qt WebKit fournit les API nécessaires à la création de navigateurs (e.g. Rekonq, Arora, etc.) et à la création d'applications hybrides mélangeant technologies Web et C++ (Spotify, NetFlix Roku, etc.).

Créé le 7 mai 2012  par Benjamin Poulain

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2006 - 2017 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.