Отправляет email-рассылки с помощью сервиса Sendsay

За 2022-09-08

[prg] Re: wxpython. Перемещение между кнопками с помощью табулятора

08.09.2022 Грызунов Александр пишет:
> Подскажите в какую сторону нужно копать, чтобы перемещаться по элементам
> управления с помощью клавиатуры?
Поместите в главное окно единственный элемент wx.Panel, на котором уже и
размещайте все остальные виджеты:
panel = wx.Panel(self)
btn1 = wx.Button(panel, wx.ID_ANY, "Первая кнопка")

   2022-09-08 22:41:56 (#3690135)

[prg] wxpython. Перемещение между кнопками с помощью табулятора

Доброго времени суток, уважаемые!

После подписи представлен код программы с gui, написанный с помощью
wxpython и который создаёт окно и две кнопки.

Кнопки работают, но перемещаться между ними табуляцией я не могу.

Когда программировал на C++ с помощью WinApi, там за это отвечал
специальный стиль элемента управления ссо словом Tab, но он кажется
устанавливался по-умолчанию.

Здесь же по-умолчанию я могу добраться до них, только подтянув мышкин
указатель и симмитировав щелчок левой кнопки мыши.

Подскажите в какую сторону нужно копать, чтобы перемещаться по элементам
управления с помощью клавиатуры?

С уважением

Грызунов Александр.

import wx

class MyFrame(wx.Frame ):
def __init__(self, parent, title):
super().__init__(parent,title=title, size=(400, 300))
BUTTON1 =1
BUTTON2 =2
btn1 =wx.Button(self, BUTTON1, 'Первая кнопка')
btn2 =wx.Button(self, BUTTON2, 'Вторая кнопка')
btn1.Bind(wx.EVT_BUTTON, self.onPress1, id=BUTTON1)
btn2.Bind(wx.EVT_BUTTON, self.onPress2, id=BUTTON2)
btn1.SetPosition(wx.Point(10, 10))
btn2.SetPosition(wx.Point(200, 10))
def onPress1(self, event):
dlg =wx.MessageDialog(None, 'Была нажата первая кнопка!',
'предупреждение1', wx.OK)
dlg.ShowModal()
def onPress2(self, event):
dlg =wx.MessageDialog(None, 'Была нажата вторая кнопка!',
'предупреждение2', wx.OK)
dlg.ShowModal()
app = wx.App()
frame = MyFrame(None, 'Две разные кнопки')
frame.Show()
app.MainLoop()

   2022-09-08 18:21:33 (#3690133)