Bonjour,
J'ai un problème avec mon développement. Je suis entrain de créer un browser mobile et j'aimerais que toutes page web se redimensionne par rapport à la fenêtre du browser.
Pour ça j'utilise le code de cette page
Je retire le resize de QGraphicsWebView et initialise la fonction setResizesToContents à true puis je définis la taille en largeur de la webPage avec setPreferredContentsSize.
Mon rendu est toujours le même. Ma fenêtre à la taille désiré mais mes page internet dépasse en largeur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 MainWindow::MainWindow(const QUrl& url) : QMainWindow() { QWebSettings::globalSettings()->setAttribute(QWebSettings::FrameFlatteningEnable, true); QGraphicsWebView *webView = new QGraphicsWebView; webView->load(url); webView->setResizesToContents(true); webView->page()->setPreferredContentsSize(QSize(1024, webView->page()->preferredContentsSize().height())); QGraphicsScene *scene = new QGraphicsScene; scene->addItem(webView); QGraphicsView *view = new QGraphicsView; view->setScene(scene); view->setRenderHints(QPainter::Antialiasing | QPainter::SmoothPixmapTransform); view->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); view->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); view->setFrameStyle(QFrame::NoFrame); view->resize(800,480); view->setStyleSheet("background-color: red"); this->setCentralWidget(view); }
Partager