wxpython列表控件listctrl设置某行颜色_wxpython:如何使用给定的rgb颜色填充listctrl对象中复选框的内部?...

这篇博客介绍了如何在wxpython中创建一个ScrolledPanel,并使用StaticText模拟ListCtrl的功能,通过设置背景颜色来展示不同颜色的条目。示例代码展示了如何创建一个带有颜色标记的滚动面板,每个条目由一个彩色方块和对应的文字组成。
摘要由CSDN通过智能技术生成

我不认为CheckBox会起作用。更改背景颜色将对不同平台产生不同的影响,我不确定它们中的任何一个只会更改窗口小部件的框部分。 ListCtrl也非常有限。

如果没有任何内置工作,你可以使用ScrolledPanel和StaticText尝试这样的事情:

import wx.lib.scrolledpanel as sp

SAMPLE_DATA = [('Antarctica', 'Green'),

('Afghanistan', 'Maroon'),

('Belguim', 'Blue'),

('Canada', 'Red'),

('India', 'Sea Green'),

('Mexico', 'Grey'),

('Mongolia', 'Black'),

('New Zealand', 'Orange'),

('Turkey', 'Purple'),]

class Legend(sp.ScrolledPanel):

def __init__(self, parent, id, data=SAMPLE_DATA):

sp.ScrolledPanel.__init__(self, parent, id)

self.sizer = wx.BoxSizer(wx.VERTICAL)

for d in data:

item = d[0]

color = d[1]

linesizer = wx.BoxSizer(wx.HORIZONTAL)

box = wx.StaticText(self, wx.ID_ANY, ' ', size=(10,10))

box.SetBackgroundColour(color)

text = wx.StaticText(self, wx.ID_ANY, item)

linesizer.Add(box, 0, flag=wx.EXPAND|wx.ALL, border=2)

linesizer.Add(text, 1, flag=wx.EXPAND)

self.sizer.Add(linesizer, 0, wx.EXPAND)

self.SetSizer(self.sizer)

self.sizer.Fit(self)

self.SetupScrolling(scroll_y=True)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值