하나의 qml 파일에서 다른 qml 파일로 통신하는 방법을 찾을 수 없습니다. qml에서 C++ 슬롯으로 신호를 보내고 되돌릴 수있는 여러 가지 방법이 있지만 두 개의 서로 다른 qml 파일 간의 신호에 대한 모든 연구가 실패했습니다. 누군가가 나를 말할 수 있다면 기쁠 것입니다. 어떻게이 문제를 해결해야합니까.하나의 qml에서 다른 신호로 신호를 보내는 방법
더 나은 방법으로 문제를 이해하기위한 모든 약간의 추상화 된 예우선 ... 기본에
첫 번째 QML 그 다음과 같습니다//MyQML1.qml
Rectangle
{
id: idMyRec1
signal mySignalFromQML1()
Button
{
id: idMyButton1
onClicked:
{
idMyRec1.mySignalFromQML1(); //to send the signal
}
}
}
제 2 하나는 다음과 같습니다
//MyQML2.qml
Rectangle
{
id: idMyRec2
Text{
id: idMyText2
text: "Hello World!"
onMySignalFromQML1: //to receive the signal from the other qml
{
idMyText2.text = "Good Bye World!";
}
}
}
이 단추는 제 2 QML의 텍스트를 "Goodly World!"로 변경해야합니다. 클릭하면 ...하지만 작동하지 않습니다 ... QML에서 다른 QML로 신호를 보내는 다른 방법이 있습니까?! 아니면 내가 잘못하고있는거야?
죄송하지만, 저에게 지금까지는 효과가 없었습니다 ... 구멍을 새 프로젝트에서 테스트 해 보았지만 제 컴파일러가 Rect1 {? ..} 및 Rect2 {...} 무엇이 잘못 되었나요? 죄송합니다 ... qml 프로그래밍에 익숙하지 않습니다 ... 도와 주셔서 감사합니다! –
'Rect1.qml'과'Rect2.qml'을 프로젝트의 일부로 가질 필요가 있습니다. 그런 다음 QML 유형으로 사용할 수 있습니다. 당신은 정말로 뒤로 물러나서 QML을 처음부터 배우기 시작할 필요가 있습니다. 시작할 수있는 좋은 곳은 https://qmlbook.github.io/ – dtech
Ahh, ok ... 감사합니다! 바보 야! 전에도 여러 번 만들었지 만 새 프로젝트에서 내 qml 파일의 이름을 바꾸는 걸 잊었습니다 ... 하지만 당신은 맞습니다 ... 나는 QML에 대해 더 많이 배워야합니다 ... 먼 길을 가야합니다! 링크를 제공해 주셔서 감사합니다. –