我一直在做Qt的一个项目。当我的程序在启动时运行时,有一个父类会添加所有的 GUI 内容。然而,在接受用户输入后,我在其他各种类中执行一些数学运算以检查不正确的用户输入(每个类都针对特定类型的错误)。这些类的对象已移动到我创建的其他线程( obj -> movetothread
( thread ))。因此我可以通过multi-threading同时检查所有错误。问题是,每当有不正确的用户输入时,我想抛出一个包含有关相应错误信息的MessageBox 。由于错误检查是在非 GUI 线程上完成的它目前正在使我的程序崩溃。所以我唯一的选择是保留QString
包含该错误的引用,当我最终从所有错误检查中返回时,我在GUI 线程中一个接一个地抛出 Messageboxe 。这个过程非常繁琐我想知道是否有任何解决方法可以解决这个问题?
PS:长话短说,如何在非GUI线程中添加GUI内容,在多线程应用程序中?