existe-t-il un moyen de désactiver l'édition de cellules spécifiques par l'utilisateur lors de l'utilisation de Je suppose qu'il y a une manière qui vetos l'événement d'édition, mais je ne peux pas le trouver. P> listCtrl code> avec
texteDitMixin code>? P>
3 Réponses :
événement 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()
Comme je me souviens, vous devez vous attacher à EvT_List_BEGIN_LABEL_EDIT. Ensuite, dans votre gestionnaire d'événements, vous venez de vérifier quelle colonne vous trouvez et si vous êtes dans une colonne que vous souhaitez être modifiable, alors vous faites "event.allow ()", sinon vous Veto. P>
Quelle est la différence entre evt.veto () code> et
evt.allow () code>?
Euh, veto arrête l'événement de monter la chaîne d'événement alors que le permettez-le de continuer. Maintenant, une meilleure question est la différence entre permettre et sauter? Que je ne suis pas sûr de ...
Oh, mon erreur, c'est ce que je voulais demander :) de xoomer.virgilio.it/infinity77/phoenix - A> Autoriser code> est "Ceci est le contraire de veto: il permet explicitement l'événement d'être traité." et
skip code> est "Cette méthode peut être utilisée à l'intérieur d'un gestionnaire d'événements afin de contrôler si d'autres gestionnaires d'événements liés à cet événement seront appelés après que l'actuel revienne.", ne semble pas être différente, sauf que Autoriser est uniquement disponible sur les enfants de Notifievent ...
Je ne serais pas surpris si c'est un alias. Vous devez demander à la liste de diffusion WXPYTHON pour une réponse officielle.
dans WXPYTHON Version 4.0.0 La ligne: p>
à la place. p> si event.m_col == 1 code>
ne marche pas. Utiliser p>
si event.getcolumn () == 1 code> p>