QThread没有开始

时间:2009-08-15 11:43:06

标签: c++ qt

我尝试在QT中创建一个线程,可以声明,创建和启动它,但它不会触发Run函数(我可以看到通过在该函数中放置一个断点)

VT.h:

class VT : public QThread
{

 public:
    void Run();
};

VT.cpp

void VT::Run()
{
..
}

并在main.cpp中:

VT vt;
vt.Start();
// starts ok but no action

我在VT.h中包含其他标头,它们是否阻止?有些不妥。问题

1 个答案:

答案 0 :(得分:5)

你的Run函数以大写R开头,QThread的虚拟run()是小写的。编译器认为你的Run()与QThread完全无关。

尝试将您的函数重命名为void VT :: run()。

此外,最好让您的运行功能受到保护,就像在QThread中一样。