我有一个缓慢的I/O操作,需要从QML UI控制。I/O接口是用C++编写的。当用户按下按钮时,我需要发送消息并从设备获取响应。我希望用户能够在等待响应的同时做其他事情。WorkerScript似乎是实现这一需求最简单的方法,但如何将我的C++接口传递到脚本中,因为普通的QDeclarativeContext不能进入线程?是否有一种方法将C++导入到QML的JavaScript中?我甚至不需要在主线程中维护C++上下文,我可以让它完全存在于工作线程中,并且只通过传递消息来回传递信息。
编辑:
澄清:@dtech的答案满足了我当前的需求,但我仍然想知道问题的答案:是否可能将C++(即使不是有状态的)导入到WorkerScript中。
编辑:
澄清:@dtech的答案满足了我当前的需求,但我仍然想知道问题的答案:是否可能将C++(即使不是有状态的)导入到WorkerScript中。