qt for android 怎样弹出键盘
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了qt for android 怎样弹出键盘相关的知识,希望对你有一定的参考价值。
可以通过QApplication的 focusChanged ( QWidget * old, QWidget * now )信号,这样就不再麻烦了。然后再强制转换下,判断下是不是LineEdit,TextEdit这些。
另外有一个开源的keyBoard是用Qt写的,可以用用,或者借鉴下他怎么获取输入焦点的. 参考技术A Android软键盘强制弹出及隐藏输入法的方法:
很多应用中对于一个界面比如进入搜索界面或者修改信息等等情况,为了用户体验应该自动弹出软键盘而不是让用户主动点击输入框才弹出(因为用户进入该界面必然是为了更改信息)。具体实现这种效果的代码如下:
java代码
EditText editText.setFocusable(true);
editText.setFocusableInTouchMode(true);
editText.requestFocus();
InputMethodManager inputManager =
(InputMethodManager)editText.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
inputManager.showSoftInput(editText, 0);
首先要对指定的输入框请求焦点。然后调用输入管理器弹出软键盘。
警告:对于刚跳到一个新的界面就要弹出软键盘的情况上述代码可能由于界面为加载完全而无法弹出软键盘。此时应该适当的延迟弹出软键盘如998毫秒(保证界面的数据加载完成)。实例代码如下:
java代码:
Timer timer = new Timer();
timer.schedule(new TimerTask()
public void run()
InputMethodManager inputManager =
(InputMethodManager)editText.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
inputManager.showSoftInput(editText, 0);
,
998);
Android的EditText在怎样获取焦点并弹出软键盘
//让编辑框弹出来,并显示对谁进行评论
commentEditText.setFocusable(true);
commentEditText.setFocusableInTouchMode(true);
commentEditText.requestFocus();
//打开软键盘
InputMethodManager imm = (InputMethodManager)getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
//让编辑框弹出来,并显示对谁进行评论commentEditText.setFocusable(true);
commentEditText.setFocusableInTouchMode(true);
commentEditText.requestFocus();
//打开软键盘
InputMethodManager imm = (InputMethodManager)getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS); 上面的代码,能够让EditText获取焦点,并弹出软键盘,供输入文本内容。特别适用于评论列表之类的场景。
以上是关于qt for android 怎样弹出键盘的主要内容,如果未能解决你的问题,请参考以下文章