【问题标题】:PyQt4 and QtWebKit - how to auto scroll the view?PyQt4 和 QtWebKit - 如何自动滚动视图?
【发布时间】:2010-10-15 22:04:26
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: python pyqt qwebview


    【解决方案1】:

    对于 (Py)Qt 4.5,使用框架的滚动位置,例如self._html.page().mainFrame().setScrollPosition。见QWebFrame::setScrollPosition()函数..

    【讨论】:

      【解决方案2】:

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

      有关详细信息,请参阅以下链接: QWebView, QWebFrame

      【讨论】:

        【解决方案3】:

        也许JavaScript是最简单的方法,但你也可以使用QWebViewevaluateJavaScript函数:

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

        其中self 是一个类Browser(QWebView)self.mainWindow 适合您)。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-10-26
          • 1970-01-01
          • 2014-01-30
          • 1970-01-01
          • 2014-06-04
          • 1970-01-01
          相关资源
          最近更新 更多