{"id":603,"date":"2018-09-04T10:35:29","date_gmt":"2018-09-04T08:35:29","guid":{"rendered":"http:\/\/members.loria.fr\/AScheuer\/?p=603"},"modified":"2018-09-04T10:35:29","modified_gmt":"2018-09-04T08:35:29","slug":"qt-gui-multi-threads","status":"publish","type":"post","link":"https:\/\/members.loria.fr\/AScheuer\/programming\/qt-gui-multi-threads\/","title":{"rendered":"Qt Graphical Objects and Multi-Threads"},"content":{"rendered":"<p>While working at the <a href=\"http:\/\/members.loria.fr\/AScheuer\/research\/control-benchmark-turtlebot-ros\/\">ROS-Qt control benchmark<\/a> I am developing, I discovered why <a href=\"http:\/\/wiki.ros.org\/qt_create\">ROS-Qt\u2019s create package<\/a> 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 href=\"http:\/\/homepages.loria.fr\/AScheuer\/Prog\/Qt\/GUI_Threads\">a simple example<\/a> showing the problem and how to solve it (I will use it in <a href=\"http:\/\/licence-master-informatique.formation.univ-lorraine.fr\/accreditation-2018\/licence-informatique-universite-de-lorraine\/l3-en-details\/semestre-5-algorithmique-conception-programmation-objet-avancee\/#EC2\">L3 course<\/a> as well as in the <a href=\"http:\/\/licence-master-informatique.formation.univ-lorraine.fr\/master-informatique\/transition\/accreditation-2018\/master\/m2-parcours-avr\/m2-parcours-avr-orientation-avr\/modelisation-et-commande-en-robotique\">M2 control course<\/a> &#8211; these two links are to French pages, sorry).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>While working at the <a href=\"http:\/\/members.loria.fr\/AScheuer\/research\/control-benchmark-turtlebot-ros\/\">ROS-Qt control benchmark<\/a> I am developing, I discovered why <a href=\"http:\/\/wiki.ros.org\/qt_create\">ROS-Qt\u2019s create package<\/a> 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 href=\"http:\/\/homepages.loria.fr\/AScheuer\/Prog\/Qt\/GUI_Threads\">a simple example<\/a> showing the problem and how to solve it (I will use it in <a href=\"http:\/\/licence-master-informatique.formation.univ-lorraine.fr\/accreditation-2018\/licence-informatique-universite-de-lorraine\/l3-en-details\/semestre-5-algorithmique-conception-programmation-objet-avancee\/#EC2\">L3 course<\/a> as well as in the <a href=\"http:\/\/licence-master-informatique.formation.univ-lorraine.fr\/master-informatique\/transition\/accreditation-2018\/master\/m2-parcours-avr\/m2-parcours-avr-orientation-avr\/modelisation-et-commande-en-robotique\">M2 control course<\/a> &#8211; these two links are to French pages, sorry).<\/p>\n","protected":false},"author":105,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[19],"tags":[20,13],"class_list":["post-603","post","type-post","status-publish","format-standard","hentry","category-programming","tag-multi-thread","tag-qt"],"_links":{"self":[{"href":"https:\/\/members.loria.fr\/AScheuer\/wp-json\/wp\/v2\/posts\/603","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/members.loria.fr\/AScheuer\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/members.loria.fr\/AScheuer\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/members.loria.fr\/AScheuer\/wp-json\/wp\/v2\/users\/105"}],"replies":[{"embeddable":true,"href":"https:\/\/members.loria.fr\/AScheuer\/wp-json\/wp\/v2\/comments?post=603"}],"version-history":[{"count":1,"href":"https:\/\/members.loria.fr\/AScheuer\/wp-json\/wp\/v2\/posts\/603\/revisions"}],"predecessor-version":[{"id":604,"href":"https:\/\/members.loria.fr\/AScheuer\/wp-json\/wp\/v2\/posts\/603\/revisions\/604"}],"wp:attachment":[{"href":"https:\/\/members.loria.fr\/AScheuer\/wp-json\/wp\/v2\/media?parent=603"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/members.loria.fr\/AScheuer\/wp-json\/wp\/v2\/categories?post=603"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/members.loria.fr\/AScheuer\/wp-json\/wp\/v2\/tags?post=603"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}