同一类的后台线程中是否可以调用方法?在没有 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
class
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()。