While working at the ROS-Qt control benchmark I am developing, I discovered why ROS-Qt’s create package used a signal to log messages on the Qt window: modifying Qt graphical objects from different threads can lead to serious problems (program abortion with segmentation violation, for example). I wrote a simple example showing the problem and how to solve it (I will use it in L3 course as well as in the M2 control course – these two links are to French pages, sorry).