查看完整版本: [--
QT主线程与子线程数据共享的问题?
--]
QTCN开发网
->
《C++ GUI Qt 4编程》(第2版)专栏
->
QT主线程与子线程数据共享的问题?
[打印本页]
登录
->
注册
->
回复主题
->
发表主题
6069205
2014-05-17 09:46
QT主线程与子线程数据共享的问题?
QT中怎么让程序一部分在子线程中执行,并且能够共享主线程中的所有数据,就是我主线中定义的数据,子线程怎样才可以直接用?
求大侠解救我于水深火热之中啊。
realfan
2014-05-17 11:12
创建子线程类时,将主窗口类指针传过去(可以自己加个参数,也可以传给parent)。这样就可以在子线程中,通过指针访问到主窗口类的数据了。但要注意数据要加锁保护。
class MyThread : public QThread
{
Q_OBJECT
public:
explicit MyThread(QObject *parent = 0);
protected:
void run()
{
MyMainWindow * pWnd = (MyMainWindow*)(this->parent());
pWnd->data1.....
}
}
一去丶二三里
2014-05-17 12:38
set方法应该学过吧,将主线程的数据设置到QThread中,在run方法中就可以使用了。调用QThread.start就可以!
查看完整版本: [--
QT主线程与子线程数据共享的问题?
--] [--
top
--]
Powered by
phpwind
v8.7
Code ©2003-2011
phpwind
Gzip disabled