我想启动同一个QT_OBJECT类的2个实例。
marketana_quickwfa_dialog* madid = new marketana_quickwfa_dialog(((marketana_asksettings_dialog*)QObject::sender())->config_as_json(), sysuid, mconf);
madid->show();
madid->start_quick_wfa();
此窗口有一个进度条。
如果我启动同时运行的2个实例,则只有第一个进度条会更新,直到第一个完成。发生这种情况时,第二个实例的进度条突然跳到~80%。 (表示#2已执行,但GUI未更新?!)
如果我启动2个实例,其中第二个等待(通过互斥锁)直到第一个完成, 突然第一个实例在创建第二个实例后不再执行其start_quick_wfa()代码。 (表示#1执行被阻止了?!#2被阻止,因为它等待#1)
这是一个正确的QT行为,如果是,我该怎么办?!
提前致谢。
答案 0 :(得分:0)
这非常简单:start_quick_wfa()
方法阻止。而且你没有向我们展示再现问题的最小,独立,可编辑的例子。这不是Qt的行为,而是你自己代码的行为。