1
ウィジェットがウィジェットのフォーカスをどのように受け取ったかを判断できますか? つまり、マウスクリックやタブキー、矢印キーなどで ありがとう)wxpython wxpythonでマウスまたはキーがフォーカス設定イベントをトリガーしたかどうかを判断する
ウィジェットがウィジェットのフォーカスをどのように受け取ったかを判断できますか? つまり、マウスクリックやタブキー、矢印キーなどで ありがとう)wxpython wxpythonでマウスまたはキーがフォーカス設定イベントをトリガーしたかどうかを判断する
私はこれを覚えていて、EVT_SET_FOCUSは残ったウィンドウに関する情報しか運びませんでした。 EVT_LEFT_DOWNを本当にバインドする必要があります。
import wx
class MainWindow(wx.Frame):
def __init__(self, *args, **kwargs):
wx.Frame.__init__(self, *args, **kwargs)
self.last_was_mouse = False
self.panel = wx.Panel(self)
self.button = wx.Button(self.panel, label="Test")
self.button2 = wx.Button(self.panel, label="Test")
self.sizer = wx.BoxSizer()
self.sizer.Add(self.button)
self.sizer.Add(self.button2)
self.panel.SetSizerAndFit(self.sizer)
self.Show()
self.button2.Bind(wx.EVT_SET_FOCUS, self.OnFocus)
self.button2.Bind(wx.EVT_LEFT_DOWN, self.OnMouse)
def OnFocus(self, e):
if self.last_was_mouse:
print "Focus by mouse"
else:
print "Focus by keyboard"
self.last_was_mouse = False
def OnMouse(self, e):
self.last_was_mouse = True
e.Skip()
app = wx.App(False)
win = MainWindow(None)
app.MainLoop()
なぜ、それは問題になるのですか? –
私は自分のtextctrlを一見して外見などで作っているので、ユーザーがそれをクリックすると、その点で点滅位置を設定する必要があります。フォーカスがタブまたは矢印キーで設定されていれば、最後に – james
私はちょうど左のダウンイベントにバインドできると仮定します。私は、フォーカスが設定されている方法を決定する関数は、と思う有用なtho :) – james