QtQuick 2.1从TextInput获取文本

QtQuick 2.1 get text from TextInput

本文关键字:获取 取文本 TextInput QtQuick      更新时间:2023-10-16

我试图获取用户在textField qml的元素中插入的文本,并将其发送给函数。我已经在导出方法从c++到qml,它工作得很好,现在我不知道如何发送字段值的方法这里是qml源代码:

import QtQuick 2.1
import QtQuick.Controls 1.0
import QtQuick.Layouts 1.0
import QtQuick.Dialogs 1.0
Rectangle {
    width: 300
    height: 100
    TextField {
        id: text
        x: 40
        y: 39
        width: 152
        height: 22
        echoMode: 2
    }
    Button {
        id: button1
        x: 192
        y: 39
        width: 98
        height: 22
        text: "Lock/Unlock"
        onClicked: {locker.lock(text.getText(1,4))}
    }

}

那么问题是如何在TextField中获得值?

您似乎正在尝试从TextField控件获取文本属性,然后将其子字符串发送到locker.lock。首先,不应该使用与属性同名的控件来标识控件。即使它能起作用(我不知道它会不会起作用),它也令人困惑。将textField重命名为lockText,然后通过

访问它的值
lockText.text

因为看起来你想要一个字符串的子集,你会使用

lockText.text.substring(0, 3)