我需要编写一个用于输入文本的虚拟键盘,我计划将Python和Qt(PyQt)库用于此任务。问题是我不知道如何模拟KeyPress不是作为内部Qt事件,而是作为真实键盘的模拟,因此我可以像使用真实键盘一样使用此键盘-与计算机上的应用程序进行交互。我在Qt文档中找不到关于此的任何内容。那么有什么方法可以通过PyQt / Qt做到这一点,或者我需要使用一些Python库,究竟是哪个?
我知道这是一个PyQt问题,但是在OP的要求下会提供一个c ++示例,以防它有助于找到Python解决方案。
在c ++方面,模拟键盘是通过将按键事件发布到应用程序的事件循环中来完成的。这些可能被视为“内部Qt事件”,但与物理按键所接收的界面完全相同。它们完成如下:
QKeyEvent *event = new QKeyEvent ( QEvent::KeyPress, Qt::Key_Enter);
QCoreApplication::postEvent (receiver, event);
通过PyQt QCoreApplcation
API查看,该postEvent
函数也存在,因此应该可以做类似的事情(不幸的是,由于我不熟悉编写python脚本,因此我无法提供示例)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句