各位好,我想使用minicom连接到开发板,然后通过终端作为qte的控制键盘,但是发觉怎样也不能在keyboardEvent那里获得触发。而当我开启程序后,不断按下PC端的键盘时,发现qt程序的cpu占用率明显高了,就像是有输入到了qt,但是去不到我的widget里似的。我开始时怀疑是焦点问题,但经过测试该widget是有焦点的,真是搞得头都大了,唉!
以下是我的设置:
export QWS_KEYBOARD="TTY:/dev/tty" // 环境变量
qt -qws // 程序启动为server
// 源码 qt.cpp
Widget::Widget(QWidget *parent, const char *name, WFlags fl)
: QWidget(parent, name, fl)
{
setFocusPolicy( StrongFocus );
.....
}
void Widget::keyPressEvent ( QKeyEvent * )
{
const char *msg = "get\n";
FILE *fp = fopen( "/mnt/bb", "a+" );
fwrite( msg, sizeof(msg), 1, fp );
fclose( fp );
}