Qt信号/插槽和线程

问题描述:

我是GUI编程和多线程新手。我正在创建一个实时应用程序,从我的汽车接收信息并以一种有意义的方式呈现它。我的应用程序分为3个线程,GUI(主线程),渲染线程和硬件通信线程。在渲染中,硬件线程是共享的环形缓冲区。在渲染过程中,我创建了一个计时器,以便每秒钟绘制新的界面20次。我希望线程通知主线程有一个新的屏幕可用,并且我认为信号/插槽方法对此最好。这回到我的问题。当我的渲染调用一个插槽时,比如Screen_Avalable,它位于主线程的主窗口对象中,是否在我的工作线程或主线程中处理此插槽/方法?Qt信号/插槽和线程

+0

请注意,从GUI线程以外的任何线程实际绘制GUI的内容可能不是一个好主意。您的渲染线程可能应该准备数据来绘制并使用队列或其他东西将其传递到GUI线程。 – 2010-12-15 17:16:46

+0

在Qt中,你不能显示Gui线程以外的任何东西 – 2010-12-15 17:29:03

+0

我打算画一个pixmap,然后将pixmap传递给gui线程以画到屏幕 – Talguy 2010-12-15 17:36:52

它在默认情况下会在主线程中处理,但请参阅this guide以获取更多信息。

它在主线程上得到处理。