qt的环境为 5.11
我没有重复包含头文件,我就是想在线程类中获取主类中的成员。
看代码吧,请求大神的帮助。
这是有错误的那个源文件
这个是头文件
这个是线程函数的源文件,我的线程函数需要用到主源文件中的数据,就是线程类中需要引用主类中的数据。
这个是主函数
在hdthread.h 文件头添加
class mywindow;
然后hdthread.cpp文件添加;
#include "mywindow.h"
还有
#ifndef HDTHREAD_H
#define HDTHREAD_H
#endif //HDTHREAD_H
这三行最好别注释掉
在 hdthread.h
HDThread(); 改成 HDThread(QWidget *wgt);
在hdthread.cpp
HDThread::HDThread()
{
cc = new mywindow();
}
改成
HDThread::HDThread(QWidget *wgt)
{
cc = dynamic_cast<mywindow *> (wgt);
}
在mywindow.cpp
thread = new HDThread();
改成
thread = new HDThread(this);
就可以了,这样,你在mywindow操作arr,也是对cc->arr的操作,
虽然不是最好的办法,但是比较简单易懂的方法。