В wxPython 4.0 Phoenix я пытаюсь использовать wx.html2.WebView с программой для чтения с экрана.
Независимо от того, используете ли вы JAWS или NVDA, я должен щелкнуть левой кнопкой мыши на виджете, чтобы иметь возможностьчтобы увидеть мою страницу в доступном веб-интерфейсе.
Вот мой код, но знайте, что у меня та же проблема с методом LoadURL.
Должен ли я что-то добавить, чтобы фокуснаходится прямо в веб-интерфейсе, как только отображается виджет?
Заранее благодарим вас за ваши ответы.
import wx
import wx.html2
class MyWebView (wx.Dialog):
def __init__(self, parent):
wx.Dialog.__init__(self, parent)
sizer = wx.BoxSizer(wx.VERTICAL)
self.browser = wx.html2.WebView.New(self)
self.changeBtn = wx.Button (self, -1, label="Change page")
# The pages that I want to display disposed in a tuple.
self.pages = (
"<html><head><title>Hello everyone !</title></head><body><h1>We're testing wx.html2.WebView with a Screen Reader !</h1></body></html>",
"<html><head><title>Second page !</title></head><body><h1>This is a second page</h1></body></html>",
"<html><head><title>Third page !</title></head><body><h1>This is a third page</h1></body></html>"
)
self.index = 0
self.display = self.pages[self.index]
sizer.Add(self.browser, 1, wx.EXPAND, 10)
sizer.Add(self.changeBtn)
self.SetSizer(sizer)
self.SetSize((700, 700))
# Events.
self.changeBtn.Bind (wx.EVT_BUTTON, self.onChangePage)
def onChangePage (self, evt):
self.index += 1
if self.index == len (self.pages):
self.index = 0
self.display = self.pages[self.index]
self.browser.SetPage(self.display, "")
if __name__ == '__main__':
app = wx.App()
dialog = MyWebView (None)
dialog.browser.SetPage(dialog.display, "")
dialog.Show ()
app.MainLoop()
С уважением.