• 5755阅读
  • 6回复

qt 实现tv 界面;qt如何响应 遥控器的按键信息? [复制链接]

上一主题 下一主题
离线suma_alex
 

只看楼主 倒序阅读 楼主  发表于: 2017-04-11

如题:最近在做一个项目,用qt实现电视机的控制界面类似于机顶盒,在接收来自遥控器按键信息时,不知道如何将按键转化为qt能够识别的事件

例如:
遥控器上按下 up按键,qt识别后,界面同时更新。

是需要自定义事件吗....
离线never_forget

只看该作者 1楼 发表于: 2017-04-11
遥控器上的是属于键盘事件嘛 ?这个可以用吗 ?
离线chamsdoncon

只看该作者 2楼 发表于: 2017-04-11
你的设备上面红外接收模块,它跟主板之间只如何通讯的你要明白。比如是串口,你就监控解析对应的串口数据。
离线大漠之鹰

只看该作者 3楼 发表于: 2017-04-12
捕捉红外信号,然后发射自定义的Qt的信号给槽函数进行响应就行啊,很简单的。就是处理红外数据
本是后山人,偶作前堂客,醉舞经阁半卷书,坐井说天阔。大志戏功名,海斗量福祸,论到囊中羞涩时,怒指乾坤错
QQ:874164244
离线suma_alex

只看该作者 4楼 发表于: 2017-04-12
回 chamsdoncon 的帖子
chamsdoncon:你的设备上面红外接收模块,它跟主板之间只如何通讯的你要明白。比如是串口,你就监控解析对应的串口数据。 (2017-04-11 20:32) 

遥控器跟主板的通信我已经完成了,并且能够解析出来遥控器上的按键信息,比如是up还是left

我对于qt而言是个初学者,现在不明白的是:
解析后的up或者left如何被qt-UI响应,
换个问法就是:qt如何模拟键盘事件,并发送到qml
我的ui是qml实现的
离线suma_alex

只看该作者 5楼 发表于: 2017-04-12
回 大漠之鹰 的帖子
大漠之鹰:捕捉红外信号,然后发射自定义的Qt的信号给槽函数进行响应就行啊,很简单的。就是处理红外数据 (2017-04-12 09:28) 

遥控器上的方向按键 如何改变 qml实现的界面上  的焦点呢?
离线suma_alex

只看该作者 6楼 发表于: 2017-04-12
已解决
Q_INVOKABLE void sendCkeyPressEvent(QObject* receiver,Qt::Key CkeyId);
Q_INVOKABLE void sendCkeyReleaseEvent(QObject* receiver,Qt::Key CkeyId);
void CKeyEvent::sendCkeyPressEvent(QObject* receiver,Qt::Key CkeyId)
{
    QKeyEvent keyPressEvent(QEvent::KeyPress, CkeyId, Qt::NoModifier);
    QGuiApplication::sendEvent(receiver, &keyPressEvent);
}
void CKeyEvent::sendCkeyReleaseEvent(QObject* receiver,Qt::Key CkeyId)
{
    QKeyEvent keyReleaseEvent(QEvent::KeyRelease, CkeyId, Qt::NoModifier);
    QGuiApplication::sendEvent(receiver, &keyReleaseEvent);
}
快速回复
限100 字节
 
上一个 下一个