在我的项目中,当 QProgressDialog 显示进度时,我正在运行一个函数。
QProgressDialog progress("Saving savegame.dat...", "Abort Save", 0, 3016, this);
progress.setWindowModality(Qt::WindowModal);
//... some loops and other calculations run while I update the progress bar with:
progress.setValue(1000);
一切都很好,直到我开始另一个过程。(打开一个cli程序)
QProcess decomBR;
QStringList filePathListBR;
filePathListBR.append("-o");
filePathListBR.append("stuff\\compress.bms");
filePathListBR.append("stuff\\regions\\xbox_chunks\\br");
filePathListBR.append("stuff\\regions\\xbox_chunks\\br");
decomBR.start("stuff\\quickbms.exe", filePathListBR);
decomBR.waitForFinished();
一旦启动这样的进程,进度条对话框就会隐藏或其他东西,并且不再显示进度,但进程仍然运行良好。
有什么办法可以防止这些进程“关闭”QProgressDialog?
编辑:显然,对话框没有关闭,它只是主窗口优先并“覆盖”对话框......如果这有意义的话。有没有办法让对话框保持显示优先级?
谢谢你的时间 :)