나는 WxPython을 사용하여 파이썬에서 웹 브라우저를 만들었습니다. 나는 모든 것을 작동시킬 수 있었고, 앞으로/뒤로 가고, 다시로드 할 수있었습니다. 내 유일한 문제는 프로그램의 상단에있는 제목을 웹 페이지의 제목으로 설정할 수 있기를 바랍니다. 나는 self.SetTitle(title)
으로 제목을 설정하는 방법을 이해하고, 나는 또한 당신이 self.browser.GetCurrentTitle()
을 사용하여 페이지의 타일을 얻을 수 있다는 연구 결과를 알고 있습니다. 그것을 사용하는 것만으로 문제는 사용자가 새 링크를 클릭 할 때 자신을 새로 고치지 않는 것이 한 가지 일이라는 것입니다. 그 라인을 따라WxPython 웹 브라우저 설정 제목
def OnLoad(self, event):
self.webtitle = self.browser.GetCurrentTitle()
self.browser.SetTitle(self.webtitle)
또는 뭔가 그냥 확실하지 않다 곳에 나 : 나는 새 페이지가로드 될 때 잡아 이런 일을 할 파이썬을 말할 수있는 함수 또는 무언가의 일종이 있으리라 믿고있어 내가 어떻게 그 기능에 "연결"할 수 있는지. wx.html2.WebView
의 설명서를 읽었지만이 작업을 수행하는 방법을 이해할 수 없으며 몇 가지 메일 링리스트뿐만 아니라이 사이트를 살펴 보았지만 설명 할 수있는 항목을 찾지 못했습니다. 어떻게하는지.
내 브라우저를 실행할 주 코드는 다음과 같습니다 (분명히 단축했습니다). 내가 부탁 해요 무엇을 요약하면
class PyBrowser(wx.Frame):
def __init__(self, *args, **kwds):
wx.Frame.__init__(self, *args, **kwds)
self.SetTitle('PyBrowser')
sizer = wx.BoxSizer(wx.VERTICAL)
self.Bind(wx.EVT_CLOSE, self.OnCloseWindow)
#Element Variables
self.browser = wx.html2.WebView.New(self)
self.address = wx.TextCtrl(self, value="http://",size=(500, 26))
self.go = wx.Button(self, label="Go", id=wx.ID_OK)
self.back = wx.BitmapButton(self, -1, wx.Bitmap('img/Back Button.png', wx.BITMAP_TYPE_PNG), size=(26,26) ,style=wx.NO_BORDER)#wx.Button(self, label="Back")
self.forward = wx.BitmapButton(self, -1, wx.Bitmap('img/Forward Button.png', wx.BITMAP_TYPE_PNG), size=(26,26) ,style=wx.NO_BORDER)#wx.Button(self, label="Forward")
self.reload = wx.BitmapButton(self, -1, wx.Bitmap('img/Reload Button.png', wx.BITMAP_TYPE_PNG), size=(26,26) ,style=wx.NO_BORDER)#wx.Button(self, label = "Refresh")
self.result = None
#Nav area
addressarea = wx.BoxSizer()
addressarea.Add(self.address, proportion = 1, border = 0)
...
#Adding elements
sizer.Add(addressarea, proportion = 0, flag = wx.EXPAND, border = 0)
sizer.Add(self.browser, 1, wx.EXPAND, 10)
#Button binding
self.Bind(wx.EVT_BUTTON, self.OnGo, id=wx.ID_OK)
...
#Menu bar stuff
#File Menu
self.fileMenu = wx.Menu()
self.New = self.fileMenu.Append(wx.ID_ANY, 'New Window')
...
#Help Menu
self.helpMenu = wx.Menu()
self.Help = self.helpMenu.Append(wx.ID_ANY, 'Help')
...
self.Bind(wx.EVT_MENU,self.OnHelp,self.Help)
...
#Adding the actual Menu Bar
self.menuBar = wx.MenuBar()
self.menuBar.Append(self.fileMenu, 'File')
self.menuBar.Append(self.helpMenu, 'Help')
self.SetMenuBar(self.menuBar)
self.SetSizer(sizer)
self.SetSize((1000, 700))
def OnGo(self, event):
self.result = self.address.GetValue()
self.browser.LoadURL(self.result)
if __name__ == '__main__':
app = wx.App()
dialog = PyBrowser(None, -1)
dialog.browser.LoadURL("http://www.google.com")
dialog.Show()
app.MainLoop()
내가 wx.html2.WebView의 내부 웹 페이지의 현재 타이틀에 wx.Frame의 제목을 설정하고 때마다 새 링크를 이름을 변경하는 방법입니다 클릭 했습니까? 필요한
잠깐만,하지만 당신이 말하는 것을 발견했습니다. 완전한 대답은 아니지만 조금 대답합니다. :) – pears456