Python 如何在wx.html.htmlwindow中获取字符串选择

Python 如何在wx.html.htmlwindow中获取字符串选择,python,linux,wxpython,Python,Linux,Wxpython,我无法获得使用关联菜单管理剪贴板的方法 我正在尝试wxpython的2.8版 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)

我无法获得使用关联菜单管理剪贴板的方法 我正在尝试wxpython的2.8版

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()
替代方法。但只有我能得到文字,而不是全部的选择

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
回溯(最近一次呼叫最后一次):
ValueError:\u类型\uv'不受支持
文件“main.py”,第3959行,在
将wx.lib.iewin作为iewin导入
文件“/usr/lib/python2.7/dist packages/wx-2.8-gtk2-unicode/wx/lib/iewin.py”,第15行,在
导入wx.lib.activex
文件“/usr/lib/python2.7/dist packages/wx-2.8-gtk2-unicode/wx/lib/activex.py”,第35行,在
将ctypes.wintypes作为wt导入
文件“/usr/lib/python2.7/ctypes/wintypes.py”,第23行,在
类变量(SimpleCData):
ValueError:\u类型\uv'不受支持

正如沃纳已经指出的,您正在尝试在Linux中导入
wx.lib.iewin
iewin
模块仅适用于Windows。我认为它应该给出一个导入错误,告诉您它只是Windows,但名称本身就暗示了这一点。您可以放入一个bug记录单,这样它确实会引发一个适当的错误

如果您需要类似浏览器的小部件,那么您应该查看WebView。它是在wxPython 2.9中添加的,我相信它可以跨平台工作。您可以在此处阅读有关该小部件的更多信息:


请同时发布您的代码。FWIW,我收到了相同的错误。OSX wxpython 3.0.0.0 python 2.7.x。在windows下,我得到一个不同的错误wxpython 2.9.5.0。为什么他需要发布他的代码?相关的行在回溯中:“File”main.py”,第3959行,在import wx.lib.iewin as iewin中,“import wx.lib.iewin as iewin as iewin在Windows 8上使用Py2.7和wxPython 2.9.5和3.0.1工作”。我想他是想在Linux上使用它,我怀疑它是否有效,因为iewin只是WXMSW。我还没有意识到这一点,无论如何,我会转向wxPythonGood建议的新版本,我会尝试