Question

Je suis un widget QtWebKit.QWebView dans une fenêtre d'application PyQt que j'utilise pour afficher du texte et des trucs pour une application comme le chat.

    self.mainWindow = QtWebKit.QWebView()
    self.mainWindow.setHtml(self._html)

Comme la conversation devient plus la barre de défilement verticale apparaît.

Ce que je voudrais faire, est de faire défiler la vue affichée au fond quand il est nécessaire. Comment puis-je le faire? Ou, peut-être, je ne devrais pas utiliser widget QWebView pour cela?

Était-ce utile?

La solution

Kender - Le QWebView est composé d'un QWebPage et un QWebFrame. Les propriétés de la barre de défilement sont stockés dans le QWebFrame, qui a une méthode setScrollBarValue (), ainsi qu'une méthode scrollBarMaximum () pour renvoyer la position max.

Voir ces liens pour plus de détails:    QWebView ,    QWebFrame

Autres conseils

(Py) Qt 4.5, l'utilisation position de défilement du cadre, par exemple, self._html.page () mainFrame ().. setScrollPosition. Voir QWebFrame :: setScrollPosition () fonction ..

JavaScript est peut-être la meilleure façon, mais vous pouvez également utiliser la fonction evaluateJavaScript de QWebView:

self.page().mainFrame().evaluateJavaScript("window.scrollTo(0, "+str(self.init_ypos)+");")

self est une Browser(QWebView) de classe (self.mainWindow pour vous).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top