Wxpython, как создать wx.KeyEvent с заданным кодом ключа? - PullRequest
0 голосов
/ 03 мая 2019

Я пытаюсь создать объект wx.KeyEvent , он нужен для эмуляции нажатия клавиш в wx.TextCtrl .Я не хочу распространять событие (если возможно), просто создаю объект.Есть ли способ сделать это?

Я просмотрел страницу wx.KeyEvent на wxpython.org, но не нашел никакой полезной информации.Единственный мой совет - возможно, я смогу создать объект wx.Event и присвоить ему нужные параметры?

EDIT : я пытался создать экземпляр объекта Eventс eventType=wx.EVT_KEY_DOWN, но я получаю исключение, говорящее о том, что оно не может быть разделено на подклассы.Неудивительно, потому что, как бы я даже передать параметры в него.

1 Ответ

0 голосов
/ 09 мая 2019

Вы можете создавать ключи, текст и действия мыши с помощью wx.UIActionSimulator https://wxpython.org/Phoenix/docs/html/wx.UIActionSimulator.html

, т.е.

keyinput = wx.UIActionSimulator()
keyinput.Char(ord("z"))
keyinput.Char(ord("\t"))

имитирует "z", за которым следует вкладка

Доступны следующие действия:

> Char  Press and release a key.
> KeyDown   Press a key.
> KeyUp Release a key.
> MouseClick    Click a mouse button.
> MouseDblClick Double-click a mouse button.
> MouseDown Press a mouse button.
> MouseDragDrop Perform a drag and drop operation.
> MouseMove Move the mouse to the specified coordinates.
> MouseUp   Release a mouse button.
> Text  Emulate typing in the keys representing the given string.
...