Я кодирую свое приложение Groundwork и использую pyside для разработки приложения.Единственный сбой, который у меня возникает, это активация переключателя qml.В настоящее время я имею в файле qml:
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
}
Когда приложение запускается, нажатие SwitchedComponent отправляет сигнал на Python, и функция, подключенная к сигналу, запускается, но переключатель никогда не становится синим, и текст не меняетсячтобы "началось".Единственный способ узнать, что приложение запущено, - это то, что через ~ 10 секунд система попросит вас закрыть приложение.Если вы нажмете NO, то приложение будет работать нормально.
Кто-нибудь знает, почему это происходит?Я просто хочу, чтобы переключатель и текст активировались до запуска функции python, чтобы пользователь знал, что происходит.Изменить: Полный файл qml можно найти здесь. https://projects.developer.nokia.com/airplay/browser/groundwork/qml/main.qml Я думаю, что это только часть использования pyside с qml, который поток пользовательского интерфейса блокирует при обработке функций python.