新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于QT/E的嵌入式Linux系统的软键盘实现

基于QT/E的嵌入式Linux系统的软键盘实现

作者:时间:2012-06-13来源:网络收藏

图4中,初始化按键时,可以使用QSignalMapper类来捆绑不同按键所发送的一系列无参数信号,并将其转发为有参数的信号:
QSignalMapper*mapper=new QSignalMapper(this);
QSignalMapper的主要应用为可以一个函数响应不同按钮的功能,下面举例来说明图4的具体过程:
首先设置软界面名称为ui,然后以数字键“1”为例:将在图3中数字键1对应的按键名称设为:n1,在图4中的第(1)步中,建立键值“1”所对应的映射,代码如下:
mapper->setMapping(ui.n1,“1”);
接着,在图4中的第(2)步,需要建立键值clicked对应的信号与槽之间的关系代码如下:
connect(ui.n1,SIGNAL(clicked()),mapper,SLOT(map()));
最后,将所需要用到的字母或者数字通过上述方式连接到槽函数中。如图4中的(3),将这些所要求得到的字母或者数字发送给焦点控件,代码如下:
connect(mapper,signal(mapped(const QString)),im,slot(sendcontent(const QStling)))
上面语句中sendcontent()函数为发射子函数,具体代码如下:
sendCommitString(content); (1)
content.clear(); (2)
语句(1)将焦点控件内的字母和数字发送出去,语句(2)清除发送框中的字母和数字,供下一次使用。
可以采用同样的方式,对软中其它的按键进行映射函数和连接函数的编写,然后在arm-linux-gcc环境下编译,生成可以在arm板上运行的二进制文件。
3.3 下载到目标板上运行
本文的设计思路是:先将程序代码在PC机上调试通过,然后将调试通过的程序代码在RAM-linux-gcc环境下进行编译,生成可以在RAM板上运行的二进制文件,最后将此二进制文件下载到目标板中。本文的前提是4.5.3环境已经移植到开发板上,具体移植步骤在这里不作介绍。在终端上面,运行启动软指令,命令行后面加上“-qws”指令,运行结果如图5所示。

本文引用地址:http://www.eepw.com.cn/article/148906.htm

b.JPG


图5是在实际项目中需要的预设手机号码的界面,在运行前要先设置手机号码,以便故障时能够自动的给对应的手机用户发送预警信息,使用户能够实时的了解自己的运行状态。在该界面中,准备预设手机号码时,直接选择打开软键盘按钮,图3所示的预制的软键盘会弹出界面,选择要求预设的手机号码值,完成之后选择exit按键,软键盘关闭。在此就可以用图5所示的软键盘完成手机号码的预设。

4 结束语
随着操作系统的广泛应用以及人们对GUI人机交互界面的更多需求,本文在linux操作系统的开发套件下,分析了软键盘的原理,并完成了软键盘的设计。此软件盘可以根据用户的要求来添加按键,与外部接入实体键盘相比,不仅便利,还节约成本。通过实践证明此软键盘具有较强的实时性和可靠性,可以广泛的应用于各种界面中。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

DIY机械键盘相关社区:机械键盘DIY



上一页 1 2 3 4 下一页

评论


相关推荐

技术专区

关闭