私はバインディングの構文をよく知っていて使用していますが、代わりにイベント オブジェクトを直接チェックし、押された文字 (たとえば 'c') と修飾子 (e,g,'Control' および 'Alt') の両方を抽出するにはどうすればよいでしょうか?
私はこれを試しました
def reportEvent(event):
eventDict = {
'2': 'KeyPress', '3': 'KeyRelease', '4': 'ButtonPress', '5': 'ButtonRelease', '6': 'Motion', '7': 'Enter',
'8': 'Leave', '9': 'FocusIn', '10': 'FocusOut', '12': 'Expose', '15': 'Visibility', '17': 'Destroy',
'18': 'Unmap', '19': 'Map', '21': 'Reparent', '22': 'Configure', '24': 'Gravity', '26': 'Circulate',
'28': 'Property', '32': 'Colormap','36': 'Activate', '37': 'Deactivate'}
rpt = '\n\n%s' % (80*'=')
rpt = '%s\nEvent: type=%s (%s)' % (rpt, event.type,eventDict.get(event.type, 'Unknown'))
rpt = '%s\ntime=%s' % (rpt, event.time)
rpt = '%s widget=%s' % (rpt, event.widget)
rpt = '%s x=%d, y=%d'% (rpt, event.x, event.y)
rpt = '%s x_root=%d, y_root=%d' % (rpt, event.x_root, event.y_root)
rpt = '%s y_root=%d' % (rpt, event.y_root)
rpt = '%s\nserial=%s' % (rpt, event.serial)
rpt = '%s num=%s' % (rpt, event.num)
rpt = '%s height=%s' % (rpt, event.height)
rpt = '%s width=%s' % (rpt, event.width)
rpt = '%s keysym=%s' % (rpt, event.keysym)
rpt = '%s ksNum=%s' % (rpt, event.keysym_num)
#### Some event types don't have these attributes
try:
rpt = '%s focus=%s' % (rpt, event.focus)
except:
try:
rpt = '%s send=%s' % (rpt, event.send_event)
except:
pass
print rpt
Python と Tkinter プログラミングに盗まれましたが、私が押している最終的な修飾子は表示されません