当下面的TextField专注于iOS时,无法单击QML按钮

时间:2020-01-29 22:17:47

标签: ios qt qml qtquick2

QtQuick 2 我试图为出现在TextField上方的TextField创建一个“清除”按钮,单击该按钮会清除TextField中的所有文本。

下面是我的main.qml文件。在台式机(MacOS和Windows)上运行时,您可以随时单击“清除”或“ X”按钮,它将清除TextField。

但是-在iOS上,当焦点位于其下方的TextField上时,“清除”按钮似乎不接受点击。您只能在不主动编辑TextField时使用该按钮。 IE-如果焦点不在其他地方,则“清除”按钮将起作用。

更新:单击“清除”按钮时,单击时看起来确实很沮丧。但是没有onClicked动作发生。另外,如果我将按钮移至TextField下方而不是其上方-它将起作用。

当焦点位于其下方的TextField上时,如何允许清除按钮起作用?或者-是否有另一种/更简便的方法来创建带有与此类似的清除按钮的TextField?

import QtQuick 2.12
import QtQuick.Window 2.12
import QtQuick.Controls 2.12

Window {
    visible: true
    width: 640
    height: 480

    TextField {
        id: searchField
        placeholderText: "Search..."
    }

    RoundButton {
        id: clearSearch
        anchors.right: searchField.right
        anchors.top: searchField.top
        anchors.bottom: searchField.bottom
        anchors.margins: 5
        text: "X"
        opacity: 0.5

        onClicked: {
            console.log("clear btn clicked");
            searchField.clear();
            searchField.forceActiveFocus();
        }
    }

}

这是我的TextField和其上方的“清除”按钮的屏幕截图。 TextField screen shot

0 个答案:

没有答案