第一: 用QtConcurrentRun类,适合在另一个线程中运行一个函数。不用继承类,很方便
第二:用QRunnable和QThreadPool结合。继承QRunnable,重写run函数,然后用QThreadPool运行这个线程。缺点是不能使用信号和槽
第三:继承QObject 使用moveToThread方法
第四:继承QThread,重写run函数。