【发布时间】:2018-03-27 09:39:54
【问题描述】:
下面是 wxpython GUI 的指定代码,您可以在其中观察到我使用 wx.html2.WebView 在面板上呈现网页。是否可以将相同的代码从 webview 替换为 cefpython?
我还得到了启动自己的框架的 cefpython code。我不想打开它自己的框架,而不是它绑定在 wxpython 面板 上。可以看下面的cefpython代码。
1.wxpython GUI 代码
import wx
import sys
import wx.html2
def main(args):
app = CefApp(False, args)
app.MainLoop()
class MainPanel(wx.Panel):
def __init__(self, parent):
wx.Panel.__init__(self, parent=parent)
self.frame = parent
sizer = wx.BoxSizer(wx.VERTICAL)
self.wv = wx.html2.WebView.New(self)
closeBtn = wx.Button(self, label="X", size=(30, 30))
closeBtn.Bind(wx.EVT_BUTTON, self.onClose)
vbox = wx.BoxSizer(wx.VERTICAL)
hbox= wx.BoxSizer(wx.HORIZONTAL)
hbox.Add(closeBtn, 0, flag=wx.ALIGN_RIGHT | wx.ALL)
vbox.Add(hbox, 0, flag=wx.ALIGN_RIGHT | wx.ALL)
self.SetSizer(vbox)
vbox.SetSizeHints(self)
self.SetWindowStyle(wx.STAY_ON_TOP)
sizer.Add(closeBtn, 0, wx.ALIGN_RIGHT | wx.ALL)
sizer.Add(self.wv, 1, wx.EXPAND)
self.SetSizer(sizer)
self.wv.LoadURL("http://google.com")
def onClose(self, event):
dlg = DialogBox()
dlg.ShowModal()
class MyFrame(wx.Frame):
def __init__(self, args):
wx.Frame.__init__(self, None, title="ESSB Demo")
self.url = args
self.browser_panel = MainPanel(self)
self.ShowFullScreen(True)
2.CefPython 代码。
from cefpython3 import cefpython as cef
import platform
import sys
def main():
sys.excepthook = cef.ExceptHook # To shutdown all CEF processes on error
cef.Initialize()
cef.CreateBrowserSync(url="https://www.google.com/")
cef.MessageLoop()
cef.Shutdown()
请指教。
【问题讨论】: