wx.ListCtrl使用TextEditMixin禁用对选定单元格的编辑

2024-09-22 14:20:49 发布

您现在位置:Python中文网/ 问答频道 /正文

在使用ListCtrlTextEditMixin时,是否有任何方法可以禁止用户编辑特定单元格?在

我想有某种方法可以否决编辑事件,但是我找不到。在


Tags: 方法用户编辑事件listctrltexteditmixin
3条回答

在wxPython版本4.0.0中,行:

if event.m_col == 1 不起作用。使用

if event.GetColumn() == 1

相反。在

我记得,您必须绑定到EVT_LIST_BEGIN_LABEL_EDIT。然后,在事件处理程序中,只需检查您所在的列,如果您所在的列希望是可编辑的,则执行以下操作“事件。允许(),否则你会否决。在

事件wx.EVT_LIST_BEGIN_LABEL_编辑公司名称:

class EditableListCtrl(wx.ListCtrl, listmix.TextEditMixin):
    def __init__(self, parent, ID=wx.ID_ANY, pos=wx.DefaultPosition,
                 size=wx.DefaultSize, style=0):
        wx.ListCtrl.__init__(self, parent, ID, pos, size, style)
        listmix.TextEditMixin.__init__(self)
        self.Bind(wx.EVT_LIST_BEGIN_LABEL_EDIT, self.OnBeginLabelEdit)

    def OnBeginLabelEdit(self, event):
        if event.m_col == 1:
            event.Veto()
        else:
            event.Skip()

相关问题 更多 >