• 4514阅读
  • 6回复

[原创]多线程编程 [复制链接]

上一主题 下一主题
离线行潇
 

只看楼主 倒序阅读 楼主  发表于: 2014-05-26
   假如我有类A,B,C。我想要在类A中开启一个线程B该怎么做呢?我试过直接new一个,在start()会出错,请指教,对这方面不熟,谢谢!
离线realfan

只看该作者 1楼 发表于: 2014-05-27
把你的代码放上来看看
离线行潇

只看该作者 2楼 发表于: 2014-05-27
你好,代码就不放上去了,太长了。程序主要完成的功能就是,在主界面(在main函数中运行)点击一个按钮的时候,同时完成将一个文件的内容,显示在一个tablewidget中和插入数据库。插入表格和插入数据库这两个类都是继承了QThread。我操作的方式是在点击按钮的槽函数中,new这两个线程,然后start他们,但是不行。有时还会弹出QObject::setParent: Cannot set parent, new parent is in a different thread这样的错误,我对多线程编程了解不多,不知道你有什么例子可以借鉴或者网址之类的,先谢过了!

内容来自[短消息]
离线jnny_cn

只看该作者 3楼 发表于: 2014-05-27
threads.zip (147 K) 下载次数:24


qt5.3中自带的例子可以参考
离线realfan

只看该作者 4楼 发表于: 2014-05-27
回 行潇 的帖子
行潇:你好,代码就不放上去了,太长了。程序主要完成的功能就是,在主界面(在main函数中运行)点击一个按钮的时候,同时完成将一个文件的内容,显示在一个tablewidget中和插入数据库。插入表格和插入数据库这两个类都是继承了QThread。我操作的方式是在点击按钮的槽函数中,new这两个线 .. (2014-05-27 09:22) 

GUI控件,只能在主线程中创建和使用。
可以给主线程发信号,由主线程完成相应操作。
离线彩阳

只看该作者 5楼 发表于: 2014-05-27
在非GUI线程创建对象时不要设置来自主线程的parent。因为这两个线程不共享堆栈。
上海Qt开发联盟,热忱地欢迎你的加入!
离线wisteria

只看该作者 6楼 发表于: 2015-02-03
请问下如果要想实现多线程,要额外安装什么插件吗?还是直接通过代码实现?
Winter in my heart
快速回复
限100 字节
 
上一个 下一个