최근 QT의 cpp에서 qml의 체크 박스에 액세스하는 작은 문제가 있습니다. 문제는 아주 간단합니다 : 나는 main.qml
파일에 체크 박스가 있습니다. 응용 프로그램을 시작할 때 QSettings에 저장 한 구성에 따라 "checked
"속성을 true 또는 false로 업데이트하려고합니다. 현재, 나는 응용 프로그램 시작시 cpp 파일의 QSettings에서 성공적으로 설정을로드했습니다. 그런 다음이 cpp 파일의 "checked
"속성을 수정하는 방법은 무엇입니까?QT의 .cpp에서 QML의 하나의 체크 박스에 액세스하는 방법?
나는 이것을 시도했다 :을 사용하고 findChild
함수를 사용했지만 작동하지 않는다.
1), 나는 을 cpp 파일에 넣었지만 QtQuick file can't be found
으로 오류가 발생했습니다.
2), "import <QtQuick/QQuickView>
"으로 변경되었습니다. 1 해결)하지만,이 라인 QObject* object = view.rootObject();
새로운 오류가 발생했습니다 :
cannot initialize a variable of type 'QObject *' with an rvalue of type 'QQuickItem *`
3), I는 QQuickItem* object = view.rootObject();
에 QObject* object = view.rootObject();
이 줄을 변경하고 그 이후 QObject* acbox = object->findChild<QObject* >("acbox");
을 사용했다. (acbox는 체크 박스의 개체 이름입니다) 2 해결)하지만 새로운 오류 가지고 :
Undefined symbols for architecture x86_64:
"QQuickView::setSource(QUrl const&)", referenced from:
ndn::TrayMenu::TrayMenu(QQmlContext*, ndn::Face&) in tray-menu.cpp.1.o
"QQuickView::QQuickView(QWindow*)", referenced from:
ndn::TrayMenu::TrayMenu(QQmlContext*, ndn::Face&) in tray-menu.cpp.1.o
"QQuickView::~QQuickView()", referenced from:
ndn::TrayMenu::TrayMenu(QQmlContext*, ndn::Face&) in tray-menu.cpp.1.o
"QQuickView::rootObject() const", referenced from:
ndn::TrayMenu::TrayMenu(QQmlContext*, ndn::Face&) in tray-menu.cpp.1.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
누구나 어떤 제안을 가지고 있습니까? 미리 감사드립니다!