【问题标题】:Virtual keyboard in Symbian S60 5th edition: Which API to use?Symbian S60 第 5 版中的虚拟键盘:使用哪个 API?
【发布时间】:2010-09-23 11:20:08
【问题描述】:

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

【问题讨论】:

    标签: keyboard symbian virtual


    【解决方案1】:

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

    QApplication::postEvent(lineEdit, new QEvent(QEvent::CloseSoftwareInputPanel));
    

    【讨论】:

      【解决方案2】:

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

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

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

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

      【讨论】:

        【解决方案3】:

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

        • 如果您使用的是平台原生控件之一,当用户访问文本编辑控件时,虚拟键盘将自动弹出。

        • 如果您正在制作自定义控件,您需要通过添加您自己的虚拟键盘版本来处理它的选择:使用右键。在您的所有应用程序中重复使用它。总有一天,诺基亚会意识到他们犯了一个明显的错误,并将 API 公开。

        • 如果您使用直接屏幕访问,那么您不会完全期望看起来非常 s60 的虚拟键盘会突然弹出。再次,在屏幕上绘制一个漂亮的图像,让用户知道虚拟键在哪里并对指针事件做出反应。除非您在其中构建大量自定义内容(背景、按钮边缘...),否则这将不太可重用。

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-08-06
          • 2023-04-10
          • 2012-09-21
          • 1970-01-01
          • 1970-01-01
          • 2011-04-20
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多