PyQt4和QtWebKit - 如何自动滚动视图?

时间:2009-03-27 11:26:13

标签: python pyqt qwebview

我在PyQt应用程序窗口中有一个QtWebKit.QWebView窗口小部件,用于显示类似聊天的应用程序的文本和内容。

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

随着对话变得越来越长,会出现垂直滚动条。

我想要的是在需要时将显示的视图滚动到底部。我该怎么做?或者,也许,我不应该使用QWebView小部件吗?

3 个答案:

答案 0 :(得分:3)

对于(Py)Qt 4.5,使用帧的滚动位置,例如self._html.page()。机框()。setScrollPosition。请参阅QWebFrame::setScrollPosition()函数..

答案 1 :(得分:1)

kender - QWebView由QWebPage和QWebFrame组成。滚动条属性存储在QWebFrame中,它具有setScrollBarValue()方法,以及scrollBarMaximum()方法以返回最大位置。

有关详情,请参阅以下链接:   QWebView,   QWebFrame

答案 2 :(得分:0)

也许JavaScript是最简单的方法,但您也可以使用evaluateJavaScript的{​​{1}}函数:

QWebView

其中self.page().mainFrame().evaluateJavaScript("window.scrollTo(0, "+str(self.init_ypos)+");") 是一个self类(Browser(QWebView)为您)。