Salut les gars, j'ai besoin de prendre le texte de TextField QML, puis passer à QString en C++.comment passer le texte TextField de QString en C++?
Firstpage.qml:
Component {
id: mainView
Row {
Image {
id: logo
anchors.fill: parent
source: "Imagens/jscalcadosLogo.png"
}
ColumnLayout {
id: layoutLogin
anchors.centerIn: parent
anchors.margins: 3
spacing: 3
TextField {
id: login
objectName: "login"
Layout.fillWidth: true
placeholderText: "Username"
}
Main.cpp:
int main(int argc, char *argv[]){
QGuiApplication app(argc, argv);
QQmlApplicationEngine engine;
engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
QQuickView *view = new QQuickView;
view->setSource(QUrl::fromLocalFile("FirstPage.qml"));
QObject *object = view->rootObject();
QObject *textin = object->findChild<QObject*>("login");
//QString input = textin->Property("text").toString(); // crash the program
return app.exec();
}
Lorsque je tente de convertir textIn en QString le plantage du programme
une idée? Je suis désolé pour mon mauvais anglais.
"La règle générale est: ne pas lire ou écrire quelque chose dans QML de C++" mais j'ai besoin d'utiliser cette connexion parce que j'utilise Mysql en C++ pour se connecter avec mon application QML. j'ai besoin de passer ce QObject à QString, une idée? –
@ CésarAugusto Créez une classe qui hérite de QObject où vos méthodes sont chargées de faire la procédure requise, dans votre cas, interagissez avec la base de données et exposez-la à QML en utilisant une propriété de contexte ou singleton, puis utilisez cette tâche sur la QML côté qui exécutent le code implémenté sur le côté C++. – eyllanesc