我有一个带有项目的 qml 窗口
Keys.onPressed {
}
我有一个 c++ 类
protected:
void keyPressEvent(QKeyEvent *event);
Keys.onPressed 里面需要做什么?我试过了
myclass.keyPressEvent(event)
我已经在我的 c++ 类中尝试了一个公共 Q_INVOKABLE 函数(handleKeyPress),它带有我想从中调用keyPressEvent的参数(QKeyEvent * event) 。
在运行时,前者给出
“TypeError:对象 myclass 的属性‘keyPressEvent’不是函数”
后者
“错误:未知方法参数类型:QKeyEvent*”。
(然后我发现 qml 只能处理指向 QObject 的指针,并且 QKeyEvent 不继承自 QObject 但这并不能帮助我找到解决方案。)
那么从qml调用keyPressEvent的正确方法是什么?或者,如果这完全是错误的方法,那么如果我的班级需要 QKeyEvent 可以给我的信息,比如按下了哪个键等,那么正确的方法是什么?