首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有超文本标记语言的wxPython CheckListBox

带有超文本标记语言的wxPython CheckListBox
EN

Stack Overflow用户
提问于 2010-10-28 03:47:34
回答 1查看 408关注 0票数 2

我正在使用wxPython创建一个图形用户界面应用程序。现在,我使用wx.CheckListBox来显示带有复选框的选项,但我希望CheckListBox中的文本使用HTML语言进行格式化。做这件事最好的方法是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-10-28 06:35:13

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

这里有一些代码可以帮助您入门。

代码语言:javascript
复制
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()
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4037076

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档