是否可以在同一个类的后台线程中调用方法?在没有 c++11 的情况下使用 C++/QT。 或者每隔 5 秒重复运行 foo2。
例子
class MyClass
{
public:
void foo(...)
{
// in another thread run foo2
foo2;
}
.
.
.
protected:
void foo2(...){}
}
谢谢
最佳答案
要在单独的线程中运行某些函数,您可以使用 QtConcurrent::run
(我将它与 QFutureWatcher
一起使用)。要每 5 秒左右运行一次,请使用 QElapsedTimer
类
QFuture<void> future = QtConcurrent::run(this, &MyClass::foo2, ...foo2 arguments);
http://qt-project.org/doc/qt-4.8/qtconcurrentrun.html#run或在这里查看 https://stackoverflow.com/search?q=QtConcurrent%3A%3Arun
或者您可以子类化 QThread,用您希望在您的线程中发生的事情重新实现 run(),然后创建您的线程的一个实例并在其上调用 start()。
关于c++ - 在其他线程QT/C++中调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16693804/