Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法从文本字段弹出Android虚拟键盘_Android_Qt_Qml - Fatal编程技术网

无法从文本字段弹出Android虚拟键盘

无法从文本字段弹出Android虚拟键盘,android,qt,qml,Android,Qt,Qml,我在Ubuntu 14.40 LTS 64位上使用Qt5.5.1开源,正在为Samsung Galaxy Tab 3 10.1运行Android 4.2.2。我有以下测试TextField: TextField { width: 384 height: 128 placeholderText: qsTr("Android Virtual Keyboard does not pop up") focus: true onTextChanged:

我在Ubuntu 14.40 LTS 64位上使用
Qt5.5.1开源
,正在为
Samsung Galaxy Tab 3 10.1
运行
Android 4.2.2
。我有以下测试
TextField

TextField
{
    width: 384
    height: 128

    placeholderText: qsTr("Android Virtual Keyboard does not pop up")

    focus: true

    onTextChanged:
    {
        print("Text changed");
    }   // onTextChanged

    MouseArea
    {
        anchors.fill: parent

        onClicked:
        {
            print("clicked");
            forceActiveFocus(Qt.MouseFocusReason);
            Qt.inputMethod.show();
        }   // onClicked
    }   // MouseArea
}   // TextField
现在,一旦获得该组件的焦点-用户在触摸屏上选择它,调试控制台上会显示消息“clicked”(单击),这是正常的,但不会显示
Android键盘
,因此用户无法在其中输入任何文本

为什么?


是否有人有更好的经验使用
文本编辑
或甚至
文本区域
,我个人更喜欢
文本字段
,因为
文本字段
占位符文本
属性?我使用几个
TextField
组件来进入数据库连接设置。

您应该强制对TextField进行活动聚焦,即
.forceActiveFocus()
,这里您强制对
MouseArea
本身进行聚焦。但实际上,为什么要在这里使用
MouseArea
?它完全没有用,因为
TextField
已经触发了键盘。@BaCaRoZzo好的,很好的指南,但是,在我省略
MouseArea
之后,我应该把
forceActiveFocus()
放在哪里?为什么要使用
forceActiveFocus
?这就是问题所在。:)你有一套分层的
MouseArea
s吗?只需将它们放在
TextField
s下方,以便后者获得活动焦点。请参见,您应该强制将活动焦点放在TextField上,即
.forceActiveFocus()
,这里您强制将焦点放在
MouseArea
本身上。但实际上,为什么要在这里使用
MouseArea
?它完全没有用,因为
TextField
已经触发了键盘。@BaCaRoZzo好的,很好的指南,但是,在我省略
MouseArea
之后,我应该把
forceActiveFocus()
放在哪里?为什么要使用
forceActiveFocus
?这就是问题所在。:)你有一套分层的
MouseArea
s吗?只需将它们放在
TextField
s的z-下方,以便后者获得活动焦点。请参阅