안녕 얘들 아, 나는 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();
}
는여 textIn 프로그램 충돌
어떤 생각을 QString하는? 내 나쁜 영어로 유감이야.
"일반적인 규칙은 : C++에서 QML로 내용을 읽거나 쓰지 마십시오."하지만 CString에서 Mysql을 사용하여 QML 응용 프로그램과 연결하고 "문서"가 명확하지 않기 때문에이 연결을 사용해야합니다. 이 QObject를 QString에 전달해야합니까? –
@ CésarAugusto QObject에서 상속받은 클래스를 생성합니다. 메서드가 필요한 절차를 수행하고, 데이터베이스와 상호 작용하며, 컨텍스트 속성이나 싱글 톤을 사용하여 QML에 노출 한 다음 QML에서 해당 작업을 사용합니다 side는 C++ 측에서 구현 된 코드를 실행합니다. – eyllanesc