PyQt4 y QtWebKit - cómo Desplazamiento automático de la vista?
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?
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.
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).