2014-10-17 87 views
1

串的選擇,我不能得到一個方法通過上下文菜單 我與wxPython的如何獲得wx.html.htmlwindow

import wx 
import wx.lib.iewin 

class main (wx.Frame): 
    def __init__(self, parent): 
     wx.Frame.__init__ (self, parent, id, title, pos, size, style) 

     self.html_field = HTMLWINDOW(self.p_html, -1) 

class HTMLWINDOW(wx.html.HtmlWindow): 
    def __init__(self, parent, id): 
     self.ie = wx.lib.iewin.IEHtmlWindow(self, -1, style) 

     self.Bind(wx.EVT_CONTEXT_MENU, self.menu) 

    def menu(self, event): 
     self.copied = self.ie.GetStringSelection() 

替代方法的2.8版嘗試管理剪貼板。但只有我能得到的話,不是一個整體選擇

def OnCellClicked(self, cell, x, y, evt): 
    if isinstance(cell, wx.html.HtmlWordCell): 
     sel = wx.html.HtmlSelection() 
     word = cell.ConvertToText(sel) 
    super(MyHtmlWindow, self).OnCellClicked(cell, x, y, evt) 

進口wx.lib.iewin我得到這個錯誤

Traceback (most recent call last): 

ValueError: _type_ 'v' not supported 
    File "main.py", line 3959, in <module> 
import wx.lib.iewin as iewin 
File "/usr/lib/python2.7/dist-packages/wx-2.8-gtk2-unicode/wx/lib/iewin.py", line 15, in <module> 
import wx.lib.activex 
File "/usr/lib/python2.7/dist-packages/wx-2.8-gtk2-unicode/wx/lib/activex.py", line 35, in <module> 
import ctypes.wintypes as wt 
File "/usr/lib/python2.7/ctypes/wintypes.py", line 23, in <module> 
class VARIANT_BOOL(_SimpleCData): 
ValueError: _type_ 'v' not supported 
+1

也請發表您的代碼。 – avi 2014-10-17 12:24:35

+0

FWIW,我得到同樣的錯誤。 OSX wxpython 3.0.0.0 python 2.7.x.在Windows下,我得到了一個不同的錯誤wxpython 2.9.5.0。 – GreenAsJade 2014-10-17 12:39:25

+0

他爲什麼需要發佈他的代碼?相關線上的回溯:「文件‘main.py’,線3959,在 進口wx.lib.iewin爲iewin」 – GreenAsJade 2014-10-17 12:39:51

回答

0

由於沃納已經指出的那樣,你在嘗試導入wx.lib.iewin在Linux操作系統。 iewin模塊僅適用於Windows。我認爲它應該給出一個導入錯誤,告訴你它只是Windows,但名字本身就意味着這個錯誤。您可以放入一個錯誤票據,以便它確實會引發適當的錯誤。

如果你需要一個類似瀏覽器的插件,那麼你應該檢查出的WebView。它被添加到wxPython 2.9中,我相信並且可以跨平臺工作。你可以閱讀更多有關控件的位置:

+0

好的建議的新版本,我會盡力 – 2014-10-17 21:08:01