gpt4 book ai didi

python - 使用任意 wx 对象作为 wx.ListCtrl 中的列

转载 作者:太空狗 更新时间:2023-10-29 22:23:50 24 4
gpt4 key购买 nike

我有一个 wx.ListCtrl 设置了 wx.LC_REPORT 位。它有 3 列。我希望在第一列中为每个其他条目填充一个复选框。我尝试使用 ListCtrl.InsertItem 方法,但它只需要一个参数 (info),而且我找不到任何关于该参数需要是什么的文档。我试过只将 wx.CheckBox 传递给 InsertItem 但无济于事。

是否可以在 wxPython ListCtrl 中有一个复选框作为条目?如果是这样,我该怎么做?

如果我在说什么有任何歧义,这里有一张我想要的图片(不确定这是否是 wx,但这是我正在寻找的)。我想要编号列中 1..5 旁边的复选框。

list control with checkboxes

最佳答案

看看wx.lib.mixins.listctrl

import wx
import wx.lib.mixins.listctrl as listmix

class TestListCtrl(wx.ListCtrl, listmix.CheckListCtrlMixin, listmix.ListCtrlAutoWidthMixin):
def __init__(self, *args, **kwargs):
wx.ListCtrl.__init__(self, *args, **kwargs)
listmix.CheckListCtrlMixin.__init__(self)
listmix.ListCtrlAutoWidthMixin.__init__(self)
self.setResizeColumn(3)

def OnCheckItem(self, index, flag):
print(index, flag)

class MainWindow(wx.Frame):
def __init__(self, *args, **kwargs):
wx.Frame.__init__(self, *args, **kwargs)
self.panel = wx.Panel(self)
self.list = TestListCtrl(self.panel, style=wx.LC_REPORT)
self.list.InsertColumn(0, "No.")
self.list.InsertColumn(1, "Progress")
self.list.InsertColumn(2, "Description")
self.list.Arrange()
for i in range(1, 6):
self.list.Append([str(i), "", "It's the %d item" % (i)])
self.button = wx.Button(self.panel, label="Test")
self.sizer = wx.BoxSizer(wx.VERTICAL)
self.sizer.Add(self.list, proportion=1, flag=wx.EXPAND | wx.ALL, border=5)
self.sizer.Add(self.button, flag=wx.EXPAND | wx.ALL, border=5)
self.panel.SetSizerAndFit(self.sizer)
self.Show()

app = wx.App(False)
win = MainWindow(None)
app.MainLoop()

关于python - 使用任意 wx 对象作为 wx.ListCtrl 中的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5495053/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com