一、继承QThread,实现void run() 函数。
Worker定义:
class Worker:public QThread
{
public:
    Worker();
    void run() override;
};void Worker::run()
{
    while(1)
    {
        qDebug()<<"run:"<<currentThreadId();
        sleep(2);
    }
}二、继承QObject,调用moveToThread函数
这种方式槽函数被信号触发时,将在线程中执行。
该类的事件处理函数将全部在该线程中执行。
Worker定义:
class Worker:public QObject
{
public:
    Worker();
public slots:
    void doWork();
};void Worker::doWork()
{
    qDebug()<<QThread::currentThreadId()<<endl;
}
mainWindow中使用Worker:
    Worker* w = new Worker;
    QThread* t = new QThread;
    w->moveToThread(t);
    t->start();
    //必须使用connect,不能直接调用doWork()
    connect(this,&MainWindow::mySignal,w,&Worker::doWork);
    qDebug()<<"mainwindow:"<<QThread::currentThreadId()<<endl;
    emit mySignal();









