我们用am335x做人机界面,使用了SDK自带的QT 4.8.0的库,SDK版本是ti-sdk-am335x-evm-05.06.00.00,设备使用USB键盘和鼠标。
现在的问题是,用这个库编译的应用程序,键盘导航行为是错乱的,根本没法操作。举几个例子:
一个表格,无论是在Linux还是Windows的桌面版,键盘的方向键都是让焦点在表格的各单元格之间上下左右移动。但是同样的程序在am335x上,键盘方向键不能在单元格之间移动,按左右键无反应,按上下键却在表格和其他各个控件之间移动焦点。
当用Tab键移动焦点到一个文本编辑框,正常情况应该是文本编辑框里的内容被全部选定,并且可以编辑,键盘方向键是在文本框内移动光标,不会导航到其他控件。但是在am335x上面,用Tab键移动焦点到一个文本编辑框,光标停留在文本最末尾,按左右键没有反应,按上下键会改变焦点到其他控件;文本编辑框内原有的文本一开始不能编辑,退格删除键、HOME键都没反应,非得键入一个字符,然后才变得可以编辑。
在程序中设置的热键,有的按第一下的时候没反应,非得从第二下之后才正常。
不仅我们自己写的程序有问题,执行SDK自带的演示程序(qtdemoE -qws)也是如此。总之就是界面中涉及到键盘操作的地方,行为都很反常,造成界面无法操作。
请问这是什么问题造成的?是否和键盘驱动有关?是否和什么环境变量设置有关?如果从QT官方下载源代码自己编译QT库,是否能解决,工作量有多大?
现在整个项目都卡在这儿,没法拿去见客户。
Hui Yin:
回复 Yaoming Qin:
下载QT源代码,自己编译了一下库,问题解决。
头一次自己编译QT库,遇到不少配置和编译问题,折腾了几天。
建议用到QT的人自己编译一下库,SDK的库即使在StarterKit上都有这个问题。
Yaoming Qin:
回复 Hui Yin:
谢谢您提供的信息,看样子是QT本身的问题。
QT的编译,我们有文档的 http://processors.wiki.ti.com/index.php/Building_Qt
另外,我们的ezsdk都是移植的一个版本的qt
pao pao:
回复 Hui Yin:
楼主你好, 我想想重新编译QT然后将其移植到TI提供的 arago-base-tisdk 这个 最小的文件系统中
想和您进一步讨论, 我的邮箱 solo526@126.com
能提供您的邮箱么,我讲具体问题写好邮件你