1

floatspinnersによってトリガーされたFLOATSPINイベントをキャプチャしたいのですが、どのFloatSpinコントロールがこのイベントを発生させたかを知る必要があります。これは、辞書の値を更新できるようにするために必要です。

FloatSpinコントロールは、キーと値のペアのディクショナリに基づいて作成されています。キーはFloatSpinコントロールのuniqueidであり、値はコントロールのデフォルト値です。辞書のk:vペアを更新したいのですが、更新する値はFloatSpinコントロールイベントから取得されます。

次の(削除された)例を考えると、イベントを発生させるコントロールの一意のIDをどのようにキャプチャしますか?

firstFS = FS.FloatSpin(self, -1, min_val=0, max_val=None, increment=1, value=1, agwStyle=FS.FS_RIGHT)
secondFS = FS.FloatSpin(self, -1, min_val=0, max_val=None, increment=1, value=1, agwStyle=FS.FS_RIGHT)

self.Bind(FS.EVT_FLOATSPIN, self.OnFloatSpin)

def OnFloatSpin(self, event):
    floatspin = event.GetEventObject()
4

1 に答える 1

0

理解しようとして数時間を費やしましたが、私はそれを手に入れました!

firstFS = FS.FloatSpin(self, -1, min_val=0, max_val=None, increment=1, value=1, agwStyle=FS.FS_RIGHT)
firstFS.SetName('firstFS')  # for example
secondFS = FS.FloatSpin(self, -1, min_val=0, max_val=None, increment=1, value=1, agwStyle=FS.FS_RIGHT)
secondFS.SetName('secondFS')  # for example

self.Bind(FS.EVT_FLOATSPIN, self.OnFloatSpin)

def OnFloatSpin(self, event):
    floatspin = event.GetEventObject()
    floatspinID = event.GetId()  # grab the widgets id that is firing the event
    '''OR'''
    floatspinName = event.GetEventObject().GetName()  # grab the widget name
于 2012-07-05T17:20:18.523 に答える