我需要通过按下按钮来运行外部应用程序并冻结主应用程序。
当主应用程序被冻结时使用下面的代码,它上面的按钮似乎将事件(或主应用程序)排入队列。
当主应用程序返回可用时,按钮会运行相对事件,即禁用它时单击的次数。
我希望你不肯。
QApplication::setOverrideCursor(Qt::WaitCursor);
ui.ProgramPushButton->blockSignals(true);
ui.ProgramPushButton->setEnabled(false);
QApplication::processEvents();
process.setWorkingDirectory(external_program_workingdir);
process.start(file);
process.waitForFinished(-1);
ui.ProgramPushButton->blockSignals(false);
ui.ProgramPushButton->setEnabled(true);
QApplication::restoreOverrideCursor();
我想念的是什么?
答案 0 :(得分:0)
QApplication::setOverrideCursor(Qt::WaitCursor);
ui.ProgramPushButton->blockSignals(true);
ui.serviceProgramPushButton->setEnabled(false);
看起来blockSignals函数应该应用于 ui.serviceProgramPushButton ,而不是 ui.ProgramPushButton