Найти - Пользователи
Полная версия: Как получить фокус ввода wxFrame?
Начало » GUI » Как получить фокус ввода wxFrame?
1
Vad
Ипользую wxPython
Хочу привязать функции к событиям set/kill focus главного окна построенного на wxFrame
Для wxTextCtrl получается , а для главного окна не могу, ниже листинг
self.Bind(wx.EVT_SET_FOCUS, self.OnSetFocus)
а так создаю главное окно:
if __name__ == “__main__”:
app = wx.PySimpleApp(0)
wx.InitAllImageHandlers()
frame_1 = MyFrame(None, -1, “”)
app.SetTopWindow(frame_1)
frame_1.Show()
app.MainLoop()
hellslade
Сделай так, должно работать :)
wx.EVT_ENTER_WINDOW
wx.EVT_LEAVE_WINDOW
Vad
Чета не пашет wx.EVT_ENTER_WINDOW
Можешь предложить кусок кода может что не так в синтаксисе?
hellslade
Vad
не..это нето, сорри :) попутал малость. это когда курсор перемещается в окно и из него
но вот так в принципе работает
# -*- coding: cp1251 -*-
import wx

class Frame(wx.Frame):
def __init__(self, parent):
wx.Frame.__init__(self, parent)
self.Bind(wx.EVT_SET_FOCUS, self.TakeFocus)
self.Bind(wx.EVT_KILL_FOCUS, self.LostFocus)

def TakeFocus(self, evt):
print 'TakeFocus'
def LostFocus(self, evt):
print 'LostFocus'

if __name__ == "__main__":
app = wx.App(True, 'log.txt')
frame = Frame(None)
frame.Show()
app.SetTopWindow(frame)
app.MainLoop()
или так наверно тоже можно
# -*- coding: cp1251 -*-
import wx

class Frame(wx.Frame):
def __init__(self, parent):
wx.Frame.__init__(self, parent)
class App(wx.App):
def __init__(self):
wx.App.__init__(self, True, 'log.txt')
frame = Frame(None)
frame.Show()
self.SetTopWindow(frame)
self.Bind(wx.EVT_SET_FOCUS, self.TakeFocus)
self.Bind(wx.EVT_KILL_FOCUS, self.LostFocus)
def TakeFocus(self, evt):
print 'TakeFocus'
def LostFocus(self, evt):
print 'LostFocus'

if __name__ == "__main__":
app = App()
app.MainLoop()
Vad
Что то попробовал не один не второй вариант у меня не заработал….
Толи события EVT_SET_FOCUS, EVT_KILL_FOCUS не работают толи еще что….
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB