Symbian S60第5版虚拟键盘:使用哪种API?

时间:2008-11-21 15:25:07

标签: keyboard symbian virtual

如何(即使用哪个API)是在Symbian S60第5版上打开的虚拟键盘?文档似乎缺乏相关信息。

3 个答案:

答案 0 :(得分:4)

你是对的,这显然应该是一个已发布的API,它应该在文档中突出显示。没有这样的运气。

  • 如果您使用其中一个平台本机控件,当用户访问文本编辑控件时,虚拟键盘将自动弹出。

  • 如果您正在制作自定义控件,则需要通过添加自己的虚拟键盘版本来处理其选择:使用新的文本编辑,窗口拥有的虚拟键盘外观相似的自定义控件正确的按钮。在所有应用程序中重复使用它。有一天,诺基亚会意识到他们犯了一个明显的错误并将API公之于众。

  • 如果你正在使用直接屏幕访问,那么你不会完全期望这个看起来很像s60的虚拟键盘能够从现在开始弹出。再次,在屏幕上绘制一个漂亮的图像,让用户知道虚拟键的位置,并对指针事件作出反应。除非你在其中构建大量的自定义(背景,按钮边缘......),否则这将不太可重复使用。

编辑:诺基亚可能依靠Qt来解决这个问题。我希望控件能够成为当前4.7版Qt的一部分。

答案 1 :(得分:3)

专注于自定义编码动态滚动区域内的QLineEdit,我遇到了一个类似的问题(如何手动打开虚拟键盘)。然后,我发现它,这显然适用于Ct Symbian ^ 3手机的Qt 4.6.3:

// lineEdit is an instance of QLineEdit    
QApplication::postEvent(lineEdit, new QEvent(QEvent::RequestSoftwareInputPanel));

在此之前,我还必须将QEvent :: FocusIn事件发布到同一个lineedit,否则QLineEdit不会更新虚拟键盘中的内容。

希望这有帮助。我失去了几个小时。

答案 2 :(得分:1)

谢谢你,非常有用的提示!还有可以触发的“关闭虚拟键盘”事件:

QApplication::postEvent(lineEdit, new QEvent(QEvent::CloseSoftwareInputPanel));
相关问题