Pregunta

Tengo un widget QtWebKit.QWebView en una ventana de la aplicación de PyQt que utilizo para mostrar texto y material para una aplicación de chat similar.

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

A medida que la conversación se hace más largo que aparezca la barra de desplazamiento vertical.

Lo que me gustaría conseguir, es decir para desplazarse por la vista que se muestra en la parte inferior cuando es necesario. ¿Cómo puedo hacerlo? O, tal vez, no debería usar widget de QWebView para esto?

¿Fue útil?

Solución

kender - El QWebView se compone de un QWebPage y una QWebFrame. Las propiedades de la barra de desplazamiento se almacenan en la QWebFrame, que tiene un método setScrollBarValue (), así como un método scrollBarMaximum () para devolver la posición max.

Vea estos enlaces para detalles:    QWebView ,    QWebFrame

Otros consejos

Para (Py) Qt 4.5, posición de desplazamiento uso de marco, por ejemplo, self._html.page (). mainFrame (). setScrollPosition. Ver QWebFrame :: setScrollPosition () función ..

Tal vez JavaScript es la forma más fácil, pero también se puede utilizar la función de evaluateJavaScript QWebView:

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

donde self es un Browser(QWebView) clase (self.mainWindow para usted).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top