Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 29, 2022 13:59:05

ZIL130
Зарегистрирован: 2022-10-29
Сообщения: 16
Репутация: +  0  -
Профиль   Отправить e-mail  

Активный TextCtrl в wxPython

 import wx
class MyWindow(wx.Frame):
    def __init__(self):
        super().__init__(None, title = "ActivTxtCtrl")
        self.panel = wx.Panel(self, wx.ID_ANY)
        
        CrntEnt = None
        
        
        sizer1 = wx.BoxSizer(wx.VERTICAL)
        e1 = wx.TextCtrl(self.panel)
        e1.Bind(wx.EVT_SET_FOCUS, self.OnFocus)
        e2 = wx.TextCtrl(self.panel)
        e2.Bind(wx.EVT_SET_FOCUS, self.OnFocus)
        e3 = wx/textctrl(self.panel)
        e3.Bind(wx.EVT_SET_FOCUS, self.OnFocus)
        btn = wx.Button(self.panel, label = "push")
        btn.Bind(wx.EVT_BUTTON, self.OnClick)
        
        sizer1.Add(e1)
        sizer1.Add(e2)
        sizer1.Add(e3)
        sizer1.Add(btn)
        
    def OnFocus(self):
        global CrntEnt 
        CrntEnt = wx.Window.FindFocus()
            
    def OnClick(self):
        global CrntEnt
        if CrntEnt == e1:
            e1.ChangeValue("hello!")
        elif CrntEnt == e2:
            e2.ChangeValue("by-by!")
        elif CrntEnt == e3:
            e3.Changevalue("ho-ho!")
        
        self.panel.SetSizer(sizer1)
        self.Layout()
        self.Show()
    
if __name__ == "__main__":
    app = wx.App()
    wndw = MyWindow()
    app.MainLoop()

Задача определить активный текстовый контрол. Заранее мы его не знаем – это выбор пользователя. В Tkinter это решается легко. Я попытался в WX сделать это по примеру Тк, но не выходит.
Буду очень благодарен за любую помощь.

Отредактировано ZIL130 (Окт. 29, 2022 19:13:49)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version