내 응용 프로그램을 기초 작업으로 코딩하고 있으며 응용 프로그램을 개발하는 데 pydide를 사용하고 있습니다. 유일한 문제는 활성화 할 qml 스위치를 얻는 것입니다. 현재 나는 QML 파일에 있습니다 : 응용 프로그램이 시작이의 switchedComponent를 누르면 파이썬에 신호와 신호 시작하지만 스위치가 결코 파란색으로 변 않고 텍스트가 변경되지 않습니다에 연결하는 기능을 전송qys pyside 및 스위치
signal buttonClicked;
//function start(){text.text="started";buttonClicked()}
Switch {
id:switchComponent
anchors.verticalCenterarent.verticalCenter;
anchors.horizontalCenterarent.horizontalCenter;
}
//end of switch
Text {
id:text
color:"red"
anchors.bottom: switchComponent.top
anchors.horizontalCenter: switchComponent.horizontalCenter
//text: switchComponent.checked ? "GROUNDWORK ON" & start() : "Press to Start"
//text: switchComponent.checked ? "GROUNDWORK ON" && start() : "Press to Start"
text: switchComponent.checked ? start() : "Press to Start"
font.pixelSize: 30
smooth:true
}
"시작됨". 응용 프로그램이 실행 중임을 알 수있는 유일한 방법은 ~ 10 초 후에 응용 프로그램을 닫으라는 메시지가 표시됩니다. 아니오를 누르면 앱이 정상적으로 작동합니다.
왜 이런 일이 발생하는지 알고 있습니까? 기본적으로 파이썬 함수가 실행되기 전에 스위치와 텍스트를 활성화하여 사용자가 무슨 일이 일어나고 있는지 알고 싶습니다. 편집 : 전체 qml 파일은 here.https : //projects.developer.nokia.com/airplay/browser/groundwork/qml/main.qml에서 찾을 수 있습니다. 이것은 qml과 함께 pyside를 사용하는 일부일뿐입니다. 파이썬 함수를 처리 할 때 스레드 블럭.
당신이 말하는 것은 의미가 있으며 나는 그것을 당신의 방법으로 시도했지만 동일한 결과를 얻습니다. 이 프로그램은 작동하지만 Gui의 응답이 없습니다. qml의 주요 GUI 스레드가 파이썬 태스크가 완료 될 때까지 기다리는 것이 차단되었다고 생각합니다. 내 주요 작업과 푸시되는 스위치 사이에 더미 작업을 넣어야한다고 생각합니다. 어쨌든 지금 상태를 확인하는 방법을 알고 버튼을 눌러 주셔서 감사합니다. – thegreattaurus