Domanda

Ho un widget QtWebKit.QWebView in una finestra di applicazione PyQt che uso per visualizzare il testo e roba per un'applicazione di chat-like.

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

Mentre la conversazione si allunga appare la barra di scorrimento verticale.

Quello che mi piacerebbe avere, è quello di scorrere la vista visualizzata sul fondo quando è necessario. Come posso farlo? O, forse, non dovrei utilizzare widget di QWebView per questo?

È stato utile?

Soluzione

kender - Il QWebView è costituito da un QWebPage e QWebFrame. Le proprietà della barra di scorrimento vengono memorizzati nel QWebFrame, che ha un metodo setScrollBarValue (), come pure un metodo scrollBarMaximum () per restituire la posizione massima.

Vedi questi link per i dettagli:    QWebView ,    QWebFrame

Altri suggerimenti

Per (Py) Qt 4.5, la posizione di scorrimento uso del telaio, ad esempio self._html.page (). mainFrame (). setScrollPosition. Vedere QWebFrame :: setScrollPosition () funzione ..

Forse JavaScript è il modo più semplice, ma si può anche utilizzare la funzione di evaluateJavaScript QWebView:

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

dove self è un Browser(QWebView) di classe (self.mainWindow per voi).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top