如何在pyside中模拟按钮按下?

2024-09-27 00:20:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我想做的是:

我有一个Python(PySide)和Qt/qmlui,现在可以响应键盘输入(实际上它是一个IR遥控器,但是输入事件的接收就像它们来自键盘一样)。在

我想也能响应鼠标事件。因此,今天用户使用箭头键导航到某个特定的按钮并按OK(即返回)来激活该按钮的处理,我希望他们能够在该按钮上单击鼠标并获得相同的处理行为。在

我目前所掌握的情况:

我的QML代码中已经有了Keys.onReturnPressed:处理,当用户按下OK/Return时,它可以完成我需要做的事情。我还添加了MouseArea { ... onClicked: {...} ... }QML代码,它可以识别我单击给定控件的时间。所以我已经在日志中看到了鼠标点击事件发生的时间。在

我的问题:

我怎么把它们绑在一起?我想让onClicked:行为生成某种事件(也许是信号?)这将导致调用onReturnPressed:处理。(如果这是实现此功能所需的,我一点也不反对通过Python端传递事件)

(我想我应该在这里提到,现有的代码包括一些基类(这里的术语是否正确?)它可以定义系统中特定类型的所有控件(如按钮)的行为。因此,虽然每个按钮都有自己的onReturnPressed:代码来提供其独特的处理,我的目标是在基类中有一个单独的onClicked:处理程序,使所有按钮都像今天返回按键一样响应单击

谁能给我指出正确的方向吗?在

BTW: Yes, I'm aware that there's a second problem here, too, of navigation. That is, even once I've turned the mouse click into a press of the Return key, I still have to solve the problem of associating it with the right control on the screen.

I sort of didn't want to muddy the waters by asking too many things at once. I'll get to that one when I've got this one in hand. (...unless you've got a simple solution already up your sleeve... In that case I'm all ears.)


Tags: oftheto代码用户returnthat事件

热门问题