使用Qt / QML将文本从Qt textEdit控件发送到QML TextInput控件

时间:2012-11-27 06:51:45

标签: qml

我在widget中创建了一个UI,并为其添加了一个edittext控件和一个pushButton控件。在QML文件中,我有一个TextInput控件。我能够在QML中显示Widget控件。现在,我想将QML中的EditText控件文本设置为在单击Widget的pushButton时widget中的edittext控件中的文本。单击按钮时,我想将editText中的文本发送到QML TextInput。

怎么可能。

我使用以下命令注册并使用QML中的Widget。 main.cpp文件--->

qmlRegisterType<WidgetContainer>("MyWidget", 1, 0, "MyWidget");

QML文件内容:

import QtQuick 1.1
import MyWidget 1.0
Rectangle {
    width: 360
    height: 360
    color: "gray"
    TextInput {
        id: textInput1
        x: 10
        y: 10
        width: 100
        height: 100
        color: "black"
        cursorVisible: true
        text: widget.getText()
    }

    MyWidget {
        id: widget
        x:10;
        y:70
        width: 180;
        height: 150
        text: "Widget text"
    }
}

1 个答案:

答案 0 :(得分:1)

单击按钮时,

WidgetContainer应发出信号。然后,您将能够在QML中编写所需的单击处理。

默认情况下,按钮(或WidgetContainer类的任何其他成员)在QML代码中不可用。因此,您无法直接在QML中使用按钮的clicked信号 你需要声明,例如buttonClicked班级中的WidgetContainer信号。然后,您需要将WidgetContainer的{​​{1}}信号连接到按钮的buttonClicked信号。

现在您可以在QML中使用clicked信号:

buttonClicked
相关问题