wxpython,滚动 webView
wxpython, to scroll a webView
我构建了一个 webView 作为 wv=wx.html2.WebView.New(myFrame)
,我用 wv.setPage(content, "")
放了一串 html 文本,它显示得很好并且它的侧面有一个滚动条,因为window 无法显示更多内容。
现在我想控制 webView 并以编程方式滚动它(例如,让它每 10 秒滚动一行)。我尝试使用 wv.ScrollLines(1)
或 wv.ScrollWindow(1, 1)
但他们没有回应。还有wv.GetScrollRange(0)
,wv.GetScrollRange(0)
给了我0,连wv.HasScrollbar(wx.VERTICAL)
都返回了False。而且我尝试查找 webView 的文档,但没有找到任何其他滚动相关的属性或函数。
你能帮我解决这个问题吗?非常感谢!!
我猜HasScrollbar
returns False
因为作为一个wx Window,它没有滚动条;文档有滚动条。至于如何滚动,有两种选择:
1) 使用方法Find。这将搜索文本,如果找到则滚动到该位置。例如,您可以使用 wx.Timer 并使用 Find
滚动到下一个位置:
import wx
import wx.html2
class MyFrame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, wx.ID_ANY, "Scroll", size=(500,500))
self.timer = wx.Timer(self)
self.Bind(wx.EVT_TIMER, self._on_timer, self.timer)
self.wv=wx.html2.WebView.New(self)
self.wv.SetPage(content, "")
self.timer.Start(100) # adjust the timer interval
def _on_timer(self, event):
self.wv.Find("Some string in the text")
app = wx.App()
frame = MyFrame()
frame.Show()
app.MainLoop()
2) 使用 javascript 在文档中执行滚动,参见 scrollTo。
我构建了一个 webView 作为 wv=wx.html2.WebView.New(myFrame)
,我用 wv.setPage(content, "")
放了一串 html 文本,它显示得很好并且它的侧面有一个滚动条,因为window 无法显示更多内容。
现在我想控制 webView 并以编程方式滚动它(例如,让它每 10 秒滚动一行)。我尝试使用 wv.ScrollLines(1)
或 wv.ScrollWindow(1, 1)
但他们没有回应。还有wv.GetScrollRange(0)
,wv.GetScrollRange(0)
给了我0,连wv.HasScrollbar(wx.VERTICAL)
都返回了False。而且我尝试查找 webView 的文档,但没有找到任何其他滚动相关的属性或函数。
你能帮我解决这个问题吗?非常感谢!!
我猜HasScrollbar
returns False
因为作为一个wx Window,它没有滚动条;文档有滚动条。至于如何滚动,有两种选择:
1) 使用方法Find。这将搜索文本,如果找到则滚动到该位置。例如,您可以使用 wx.Timer 并使用 Find
滚动到下一个位置:
import wx
import wx.html2
class MyFrame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, wx.ID_ANY, "Scroll", size=(500,500))
self.timer = wx.Timer(self)
self.Bind(wx.EVT_TIMER, self._on_timer, self.timer)
self.wv=wx.html2.WebView.New(self)
self.wv.SetPage(content, "")
self.timer.Start(100) # adjust the timer interval
def _on_timer(self, event):
self.wv.Find("Some string in the text")
app = wx.App()
frame = MyFrame()
frame.Show()
app.MainLoop()
2) 使用 javascript 在文档中执行滚动,参见 scrollTo。