首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

软键盘的焦点移动,如何判断下上按钮

2013-01-23 
软键盘的焦点移动,怎么判断上下按钮现在写了个软键盘的应用。现在可以使用键盘输入文本了。由于不支持鼠标,

软键盘的焦点移动,怎么判断上下按钮
现在写了个软键盘的应用。
现在可以使用键盘输入文本了。
由于不支持鼠标,现在想通过键盘的方向键控制焦点按钮移动,左右键使用系统自带的就可以了,上下键移动焦点的时候,怎么判断移动到哪个按钮呢?
比如当前焦点在Q按钮上,按下down键,焦点移动到A按钮上。
因为按钮不规则排列,怎么算比较好呢。根据每个按钮的x,y坐标,遍历所有按钮,找到最近的按钮吗?这样的效率好像很低呢。
[解决办法]
继承button或者安装事件监视器,处理按钮的:virtual voidkeyPressEvent ( QKeyEvent * event )
写一个巨大switch

if(up){
    switch(key)
    case key_D: buttonE->setfocus();  
        break;
}else if(down){
    switch(key)
    case key_D: buttonC->setfocus();  
        break;
}


要不然就做一个表,查表找到下一个button
[解决办法]
引用:
引用:继承button或者安装事件监视器,处理按钮的:virtual voidkeyPressEvent ( QKeyEvent * event )
写一个巨大switch
C/C++ code?123456789if(up){    switch(key)    case key_D: buttonE->setfocus();     ……

查表,做一个按钮的关系表。
[解决办法]
引用:
引用:继承button或者安装事件监视器,处理按钮的:virtual voidkeyPressEvent ( QKeyEvent * event )
写一个巨大switch
C/C++ code?123456789if(up){    switch(key)    case key_D: buttonE->setfocus();     ……

用一个数组...

热点排行