本文主要是介绍qt中的线程套路,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
qt的线程还是非常优雅的,当然我们可以使用系统自带的函数接口创建线程,但是跨平台移植似乎就是问题。
qt的线程是可以支持跨平台的移植的。
qt的线程非常简单,就是继承QThread然后重写run方法,run函数就是我们的线程主体,对于重写其实本质就是一个回调接口了。
好了注意重点:在主函数实例化然后调用start方法就开始运行线程了,千万不要调用函数调用的急眼了,把run函数也调用了。
头文件
#ifndef THREAD_H
#define THREAD_H
#include<QThread>
#include<QDebug.h>class mythread:public QThread{
public:
protected:void run()
{while(1){qDebug("test");}}};#endif // THREAD_H
main函数
#include "mainwindow.h"
#include <QApplication>
#include <QFile>
#include "thread.h"QString getQssContent()
{QFile styleSheet(":/style.ss");if (!styleSheet.open(QIODevice::ReadOnly)){qDebug("Can't open the style sheet file.");return "";}return styleSheet.readAll();
}int main(int argc, char *argv[])
{QApplication a(argc, argv);MainWindow w;w.show();mythread th_id;// th_id.run();**********注意哦,不要调用run,不知道当时是为什么脑残,调用了run// 调试的我怀疑人生.th_id.start();//运行线程a.setStyleSheet(getQssContent());return a.exec();
}
界面和耗时操作独立起来!
这篇关于qt中的线程套路的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!