7

ListCtrlwithを使用するときに、ユーザーによる特定のセルの編集を無効にする方法はありますTextEditMixinか?

編集イベントを拒否する方法があると思いますが、見つかりません。

4

3 に答える 3

12

イベント wx.EVT_LIST_BEGIN_LABEL_EDIT:

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()
于 2012-10-09T20:19:18.400 に答える
1

思い出したように、EVT_LIST_BEGIN_LABEL_EDIT にバインドする必要があります。次に、イベント ハンドラーで現在の列を確認し、編集可能にしたい列にいる場合は「event.Allow()」を実行し、そうでない場合は拒否します。

于 2012-10-09T20:19:30.980 に答える