Qt中的跨线程调用

public class MainThread{
private void corssThreadInvoke(final String arg) {
QApplication.invokeLater(new Runnable() {
String arg_ = arg;
public void run() {
//TODO
//如果需要调用全局变量,
//就必须用方法来包装,方能使用
globalParamInvoke(arg_);
}
});
}

private String arg;

private void globalParamInvoke(String arg) {
arg = arg;
}

class WorkThread extends Thread{
public void run(){
corssThreadInvoke("param");
}
}
}

Qt中需要调用QApplication.invokeLater方法能实现跨线程调用。

参考:Qt jambi Mandelbert Examples

原文地址:https://www.cnblogs.com/tao_/p/2194487.html