我写了一个软件,主要有三个数据处理的类:
A类主要是对图片的处理,然后截取大图的一部分给主界面进行显示;
B类主要是用Qwt画曲线(A类处理后得到的值传递到B类),然后时时更新;
C类主要是对图片处理(拖动图片等操作),处理好后将值传递到A类和B类中。
A和B类是主界面的一部分,而C类是独立的子界面。
我看了线程资料,有很多是创建基于QThread的工作线程;
自己尝试写了一个线程:
创建一个工作线程类(基于QThread),
然后在线程类的构造函数中构造一个B类的对象,
A类通过线程来传递参数给B类。(线程类中的run()函数没有用到)
这样写不知道对不对
如果不对,我应该怎么创建线程?
整体的流程该是怎么样的?
求指教
------解决思路----------------------
没用到run()函数,那你建立线程就没有什么意义,
如果仅是A类的参数传给B类,
我的建议是,再建一个D类,用来存储/修改A与B之间的所有参数,每个参数都提供set()和get()两个接口,
这样的话,A和B之间的耦合会降低,所有的参数都以D类为准,程序方便扩展。
A类修改D类中的数据,工作线程不断读取/对比D类中的数据,并传递给B类(如你所说在线程里建立B的实例)。
另外,如果数据不是很大,要求不是很高,建议使用信号与槽机制。(线程的机制感觉你还不是很了解)