こんにちは、私はTextField QMLのテキストを取ってから、C++でQStringに渡す必要があります。C++でQStringからTextFieldテキストを渡す方法は?
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();
}
私は、プログラムがクラッシュ
任意のアイデアをQStringのにTextinを変換しようとすると?私は悪い英語のために申し訳ありません。
"一般的なルールは:C++からQMLで何かを読み書きしないでください"ですが、私はQ ++アプリケーションに接続するためにC++でMysqlを使用しようとしているので、この接続を使用する必要があります。私はこのQObjectをQStringに渡す必要があります。 –
@CésarAugustoQObjectから継承するクラスを作成します。ここでは、必要なプロシージャを実行するメソッドがあり、データベースと対話し、コンテキストプロパティまたはシングルトンを使用してQMLに公開し、そのタスクをQMLで使用します。 C++側で実装されているコードを実行する側です。 – eyllanesc