Wxpython,如何使用给定的键代码创建wx.KeyEvent?

时间:2019-05-03 20:31:02

标签: python events key wxpython

我试图创建一个 wx.KeyEvent 对象,我需要它来模拟 wx.TextCtrl 中的按键。我不想传播事件(如果可能的话),只需创建一个对象即可。有办法吗?

我查看了wxpython.org上的 wx.KeyEvent 页面,但是我没有找到任何有用的信息。我唯一的提示是,也许我可以创建一个 wx.Event 对象并为其提供所需的参数?

编辑:我尝试使用eventType=wx.EVT_KEY_DOWN实例化一个Event对象,但是我得到一个例外,说明它不能被子类化/实例化。怪不得,因为我什至将参数传递给它。

1 个答案:

答案 0 :(得分:0)

您可以使用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.