FreeOZ论坛

标题: 问一个QT的model/view 问题 [打印本页]

作者: GPS    时间: 15-10-2010 16:23
标题: 问一个QT的model/view 问题
GUI在一个线程,另外有个线程做通讯,两个线程都要修改GUI的model。 为了同步,我想到几个方法:
1. 通讯线程将修改signal到主GUI线程,由主线程修改,model在主线程中。
2. 在QAbstractitemModel子类中的insert/Delete/RemoveRows()中加mutex, 然后两个线程各自修改,model在主线程,次线程就是修改主线程中的 model。
3. 只用一个GUI线程,network也在一起。
请问一下coredump,该用哪个,或者有更好的方法呢? 谢谢。

[ 本帖最后由 GPS 于 15-10-2010 16:45 编辑 ]
作者: catchmeifucan    时间: 15-10-2010 18:16
菜鸟进来围观技术贴。
就俺的认知能力来看,最好是在一个线程里修改。mutex看着挺炫,能不用就不用。
作者: coredump    时间: 15-10-2010 21:31
I choose option 3.  only use worker thread until you have to.
Then choose option 1.
Choose option 2 only when option 1 & 3 won't work for your case.
作者: GPS    时间: 15-10-2010 22:55
多谢多谢。
因为在Qt里,利用signal-slot,多线程变得很容易了,导致老是想趋向于把不同的工作放在不同线程,结果反而是增加复杂度了。
多谢楼上两位。




欢迎光临 FreeOZ论坛 (https://www.freeoz.org/ibbs/) Powered by Discuz! X3.2