启动相同QT_OBJECT的2个实例 - >相互阻挡?

时间:2014-01-23 13:11:38

标签: qt

我想启动同一个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行为,如果是,我该怎么办?!

提前致谢。

1 个答案:

答案 0 :(得分:0)

这非常简单:start_quick_wfa()方法阻止。而且你没有向我们展示再现问题的最小,独立,可编辑的例子。这不是Qt的行为,而是你自己代码的行为。