关于QT textWidget显示问题 程序异常退出了,求解
发布网友
发布时间:2022-04-30 01:06
我来回答
共1个回答
热心网友
时间:2022-04-13 00:19
方法一是:connect时添加参数Qt::DirectConnection,以保证其不被放入信号队列,从而达到想要的效果,但这种办法不一定能解决该问题,因为QTextCharFormat类型是Qt的基本类型,是可以作为信号参数使用的,但此处却提示它并不能作为信号参数,所以根本问题不是Qt::DirectConnection所能解决的。
经过进一步检查你会发现问题产生的原因是,该信号被放在了一个线程里面,但线程内信号是必须要放入队列的,所以上面的方法根本不可行,因此解决问题的关键是将相关信号移出run函数,可以采用空参数信号,或等待finished()信号完毕后,用finished()信号去关联一个槽函数来解决,甚至该槽函数就是QThread的私有槽。追问按你所说,这是一个什么信号?它是怎么产生的?可不可以让他不产生这个信号就可以解决这个问题不?我在想,是不是textWidget里面的内容改变了就产生了这个信号.还请详细说说.