Java QT Jambi:从其他线程更新UI
我目前正在使用Qt-Jambi开发一个Java项目。我正在一个不同于UI线程的线程中进行一些计算,我想更新UI以指示进度 很明显,UI更新只能在UI线程上完成,而且由于计算线程不是UI线程,因此我无法从那里对UI执行更新(尝试这样做会导致从自身线程外部使用Java QT Jambi:从其他线程更新UI,java,multithreading,qt,qt-jambi,Java,Multithreading,Qt,Qt Jambi,我目前正在使用Qt-Jambi开发一个Java项目。我正在一个不同于UI线程的线程中进行一些计算,我想更新UI以指示进度 很明显,UI更新只能在UI线程上完成,而且由于计算线程不是UI线程,因此我无法从那里对UI执行更新(尝试这样做会导致从自身线程外部使用QObject错误) 那么,如何在UI线程上调用我的updateUI()方法呢 我以前也给出过类似的答案,但我找不到。因此,我将重复我以前说过的话 您需要使用qt的信号/slot机制来实现主线程与工作线程之间的通信 结帐 我希望这能有所帮助。我
QObject
错误)
那么,如何在UI线程上调用我的
updateUI()
方法呢 我以前也给出过类似的答案,但我找不到。因此,我将重复我以前说过的话
您需要使用qt的信号/slot机制来实现主线程与工作线程之间的通信
结帐
我希望这能有所帮助。我自己刚刚找到了一个解决方案
QApplication
提供了invokeLater
方法来在UI线程上执行操作:
QApplication.invokeLater(new Runnable() {
@Override
public void run() {
updateUI();
}
});
UI线程是关于设置外观和感觉,更新自定义组件。。。