C++ 将数据从qml文件传递到其他文件?
我只是从Qt-Quick和QML开始 我写了一个登录页面,在输入用户名和密码后加载一个用户id。成功身份验证后,我需要将此ID传递给正在创建的新窗口 我该怎么做 login.qml代码段C++ 将数据从qml文件传递到其他文件?,c++,qt,qml,data-exchange,C++,Qt,Qml,Data Exchange,我只是从Qt-Quick和QML开始 我写了一个登录页面,在输入用户名和密码后加载一个用户id。成功身份验证后,我需要将此ID传递给正在创建的新窗口 我该怎么做 login.qml代码段 BSButton { id: btnOK anchors.top:senhaInput.bottom anchors.left: senhaInput.left anchors.topMargin: 10 width: (senha
BSButton {
id: btnOK
anchors.top:senhaInput.bottom
anchors.left: senhaInput.left
anchors.topMargin: 10
width: (senhaInput.width * 0.60) - 5
text: "Entrar"
isDefault: true
onClicked: {
lblMsgErro.text = ""
lblMsgErro.visible = false;
controller.autenticar(); // returns user id to pass to main.qml
}
}
QLoginController {
id: controller
login: loginInput.text
senha: senhaInput.text
onAuthenticated: {
if (success) {
var component = Qt.createComponent("main.qml");
var win = component.createObject();
win.showFullScreen();
close();
} else {
senhaInput.text = "";
console.log("Falha na autenticação: Usuário e/ou senha inválidos.");
lblMsgErro.text = "Usuário e/ou senha inválidos.";
lblMsgErro.visible = true;
loginInput.focus = true;
}
}
}
数据库工作正常,我只是不知道如何将userid发送到main.qml
先谢谢你
var win = component.createObject();
win.userid = login;
main.qml应该具有属性userid
或者
它将为win
创建一个属性userid
var win = component.createObject(controller, {'userid':login});