Pergunta

Eu tenho um widget QtWebKit.QWebView em uma janela do aplicativo PyQt que eu uso para texto de exibição e material para uma aplicação de chat-like.

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

Como a conversa fica mais a barra de rolagem vertical aparece.

O que eu gostaria de ter, é para rolar a tela exibida na parte inferior quando é necessário. Como eu posso fazer isso? Ou, talvez, eu não deveria usar o widget QWebView para isso?

Foi útil?

Solução

kender - O QWebView é composta de um QWebPage e uma QWebFrame. As propriedades da barra de deslocamento são armazenados no QWebFrame, que tem um método setScrollBarValue (), bem como um método scrollBarMaximum () para voltar a posição máxima.

Veja estes links para obter detalhes: QWebView , QWebFrame

Outras dicas

Para (Py) Qt 4,5, posição de rolagem uso de quadro, por exemplo, self._html.page (). mainFrame (). setScrollPosition. Consulte QWebFrame :: setScrollPosition () função ..

Talvez JavaScript é a maneira mais fácil, mas você também pode usar a função evaluateJavaScript de QWebView:

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

onde self é um Browser(QWebView) classe (self.mainWindow para você).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top