PyQt4 和 QtWebKit - 如何自动滚动视图?
我在 PyQt 应用程序窗口中有一个 QtWebKit.QWebView 小部件,我用它来显示类似聊天的应用程序的文本和内容。
self.mainWindow = QtWebKit.QWebView()
self.mainWindow.setHtml(self._html)
随着对话变长,会出现垂直滚动条。
我想要得到的是在需要时将显示的视图滚动到底部。 我该怎么做? 或者,也许我不应该为此使用 QWebView 小部件?
I got a QtWebKit.QWebView
widget in a PyQt application window that I use to display text and stuff for a chat-like application.
self.mainWindow = QtWebKit.QWebView()
self.mainWindow.setHtml(self._html)
As the conversation gets longer the vertical scrollbar appears.
What I'd like to get, is to scroll the displayed view to the bottom when it's needed. How can I do it? Or, maybe, I shouldn't use QWebView
widget for this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
对于 (Py)Qt 4.5,使用框架的滚动位置,例如 self._html.page().mainFrame().setScrollPosition。 请参阅 QWebFrame::setScrollPosition() 函数。
For (Py)Qt 4.5, use frame's scroll position, e.g. self._html.page().mainFrame().setScrollPosition. See QWebFrame::setScrollPosition() function..
kender - QWebView 由 QWebPage 和 QWebFrame 组成。 滚动条属性存储在QWebFrame中,它有一个setScrollBarValue()方法,以及一个返回最大位置的scrollBarMaximum()方法。
请参阅这些链接了解详细信息:
QWebView,
QWebFrame
kender - The QWebView is made up of a QWebPage and a QWebFrame. The scroll bar properties are stored in the QWebFrame, which has a setScrollBarValue() method, as well as a scrollBarMaximum() method to return the max position.
See these links for details:
QWebView,
QWebFrame
也许JavaScript是最简单的方法,但您也可以使用
QWebView
的evaluateJavaScript
函数:其中
self
是一个类Browser(QWebView)
(self.mainWindow
适合您)。Maybe JavaScript is the easiest way, but you may also use
evaluateJavaScript
function ofQWebView
:where
self
is a classBrowser(QWebView)
(self.mainWindow
for you).