Hallo Leute, ich brauche den Text von TextField QML dann an QString in C++ übergeben.wie übergeben Sie TextField Text von QString in 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();
}
Wenn ich textIn versuchen wandeln das Programmabsturz QString
irgendeine Idee? Es tut mir leid für mein schlechtes Englisch.
„Die allgemeine Regel lautet: Verwenden Sie von C etwas in QML schreiben ++ nicht lesen oder“ aber ich brauche diese Verbindung zu verwenden, weil ich Mysql versuchen in C++ verwenden, mit meiner QML App zu verbinden und die „Dokumentation“ ist nicht klar. Ich muss dieses QObject zu QString übergeben, irgendeine Idee? –
@ CésarAugusto Erstellen Sie eine Klasse, die von QObject erbt, wobei Ihre Methoden für die von Ihnen benötigte Prozedur verantwortlich sind, in Ihrem Fall mit der Datenbank interagieren und QML mit einer Context-Eigenschaft oder Singleton verfügbar machen und diese Aufgabe dann auf der QML verwenden Seite, die den auf der C++ - Seite implementierten Code ausführt. – eyllanesc