Frage

Ich habe einen QtWebKit.QWebView Widget in einem PyQt Anwendungsfenster, das ich für eine Chat-Anwendung wie Text und Sachen anzuzeigen verwenden.

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

Als das Gespräch länger wird die vertikale Bildlaufleiste angezeigt.

Was ich möchte, bekommen, ist die angezeigte Ansicht nach unten zu scrollen, wenn sie gebraucht wird. Wie kann ich es tun? Oder vielleicht sollte ich nicht QWebView Widget für diese verwenden?

War es hilfreich?

Lösung

Kender - Die QWebView aus einer QWebPage und einen QWebFrame gemacht wird. Die Bildlaufleiste Eigenschaften sind in der QWebFrame gespeichert, die eine setScrollBarValue () Methode aufweist, sowie eine scrollBarMaximum () Methode die max Position zurückzukehren.

Sehen Sie diese Links für Details:    QWebView ,    QWebFrame

Andere Tipps

(Py) Qt 4.5, Bildlaufposition des Einsatz-Rahmen, z.B. self._html.page (). mainframe (). Setscroll. Siehe QWebFrame :: Setscroll () Funktion ..

Vielleicht JavaScript ist der einfachste Weg, aber Sie können auch evaluateJavaScript Funktion von QWebView verwenden:

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

wo self ist eine Klasse Browser(QWebView) (self.mainWindow für Sie).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top