Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带HTML的wxPython复选框_Python_Wxpython - Fatal编程技术网

带HTML的wxPython复选框

带HTML的wxPython复选框,python,wxpython,Python,Wxpython,我正在使用wxPython创建一个GUI应用程序。现在我使用wx.CheckListBox来显示带有复选框的选项,但是我希望CheckListBox中的文本使用HTML格式化。最好的方法是什么?将wxCheckListBox替换为wxHtmlWindow,并使用wxpTag作为复选框 这里有一些代码让你开始 import wx import wx.lib.wxpTag class HtmlCheckListBox(wx.html.HtmlWindow): def __init__(s

我正在使用wxPython创建一个GUI应用程序。现在我使用wx.CheckListBox来显示带有复选框的选项,但是我希望CheckListBox中的文本使用HTML格式化。最好的方法是什么?

wxCheckListBox
替换为
wxHtmlWindow
,并使用
wxpTag
作为复选框

这里有一些代码让你开始

import wx
import wx.lib.wxpTag


class HtmlCheckListBox(wx.html.HtmlWindow):
    def __init__(self, parent, choices=None):
        wx.html.HtmlWindow.__init__(self, parent)

        check_box = """
        <wxp module="wx" class="CheckBox">
            <param name="id" value="%d">
        </wxp>
        """

        self._ids = dict()

        if choices:
            items = list()
            for c, choice in enumerate(choices):
                i = wx.NewId()
                self._ids[i] = c
                items.append((check_box % i) + choice)
            self.SetPage("<hr>".join(items))

        self.Bind(wx.EVT_CHECKBOX, self.OnCheck)

    def OnCheck(self, event):
        print "item:", self._ids[event.Id], "checked:", event.Checked()


class TestFrame(wx.Frame):
    def __init__(self):
        wx.Frame.__init__(self, None)
        self.options = HtmlCheckListBox(
            self,
            [
                "<i>one</i>",
                "<b>two</b>",
                "<u>three</u>"
            ]
        )


app = wx.PySimpleApp()
app.TopWindow = TestFrame()
app.TopWindow.Show()
app.MainLoop()
导入wx
导入wx.lib.wxpTag
类HtmlCheckListBox(wx.html.HtmlWindow):
def uuu init uuu(self,parent,choices=None):
html.HtmlWindow.\uuuuu init\uuuuuuu(self,parent)
勾选“”框“
"""
self.\u id=dict()
如果选择:
项目=列表()
对于c,枚举中的选项(选项):
i=wx.NewId()
自我识别码[i]=c
items.append((复选框%i)+选项)
self.SetPage(“
”.join(项目)) self.Bind(wx.EVT_复选框,self.OnCheck) def OnCheck(自我、事件): 打印“项目:”,自我识别号[event.Id],“选中:”,event.checked() 类TestFrame(wx.Frame): 定义初始化(自): wx.Frame.\uuuu init\uuuux(self,None) self.options=HtmlCheckListBox( 自己 [ “一个”, “两个”, “三个” ] ) app=wx.PySimpleApp() app.TopWindow=TestFrame() app.TopWindow.Show() app.MainLoop()