我完成了整个项目,构建了一个基本上根据GUI中的一些用户输入组合获取sql查询结果的应用程序,我相信在C ++代码中调用Q_INVOKABLE
函数时会出现一些性能问题一些计算来产生查询并运行查询并返回结果,所以我想知道是否有一种方法可以在qml的单独线程中运行该函数。
骨架有点像这样:
Result.h
class Result{
public:
Q_INVOKABLE void on_submit_button_clicked();
}
Result.cpp
Result::on_submit_button_clicked()
{
/*Code that prepare the query*/
/*Code that runs the query using a Qthread*/
}
main.qml
ApplicationWindow
{
id:appwindow
/*Other parts of the GUI*/
Button{
id:submitButton
onClicked:{
result_object.on_submit_button_clicked() //how to run this function in a new thread ?
/*code to load my table view columns*/
}
}
}