当前位置:编程学习 > wap >>

QT 接收按键消息慢

各位好,我好像没有分,不能给大家送分了,对不住。
说一下我的问题,我是用QT开发机顶盒,现在是用QML做界面开发,QT接受遥控器按键是通过信号和槽的机制实现的,当底层收到按键值的时候转换成一个和QT的映射值,然后通过信号和槽调用相关函数,在函数里调用QT的processKeyEvent把消息和值传给QML中相应接收按键的地方。
问题就是当调用processKeyEvent的时候,QML中接受按键的地方半天才会收到消息,有时候很快,有时候连续按几次不响应,再按一次就一起连续响应。请各位帮帮忙,如果需要源码我会发上来,谢谢。 qt --------------------编程问答-------------------- 不一定是处理慢
可能是你key pressed之后导致界面更新什么的 使得消息被堵塞了
如果你不用qml 直接响应key pressed 还慢吗 也就是说 别用qml 直接原生QWidget测测
--------------------编程问答-------------------- 谢谢楼上的回复。
“可能是你key pressed之后导致界面更新什么的 使得消息被堵塞了”
通过加打印发现当按下遥控器的按键QML中接收按键的地方确实没有收到,也就是相应的打印没有打出来。
Keys.onPressed:{
        console.log("event.key test = ",event.key);
/*
        if(event.key == Qt.Key_Up )
        {
            event.accepted = true;

            index = (index+4)%5;
            indexChoose=0;

            playIconAnimation2.start();
            console.log(event.isAutoRepeat+"----QML---Key_Up---");
        }
        if(event.key == Qt.Key_Down)
        {
            event.accepted = true;

            index = (index+1)%5;
            indexChoose=0;

            playIconAnimation2.start();
            console.log(event.isAutoRepeat+"----QML---Key_Down---");
        }
        if(event.key == Qt.Key_Left || event.key == Qt.Key_Right)
        {

           indexChoose = (indexChoose+1)%2;

        }
        */
    }
补充:移动开发 ,  Qt
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,