gpt4 book ai didi

c++ - 运行带有 while 循环的进程时,对话框内容丢失

转载 作者:行者123 更新时间:2023-11-28 08:07:50 29 4
gpt4 key购买 nike

我有以下源代码:

void Processmethod()
{

QDialog *ProcessMessage = new QDialog;
Ui::DialogProcessMessage Dialog;
Dialog.setupUi(ProcessMessage);
ProcessMessage->setModal(true);
ProcessMessage->setAttribute(Qt::WA_DeleteOnClose);
ProcessMessage->show();

processmethodONE();
processmethodTWO();
processmethodTHREE();
}

void processmethodONE()
{
QString ProcessCommand = "w8 " + blablubli";

Prozess.setWorkingDirectory(Path); //QProcess "Prozess" is globaly defined
Prozess.setStandardOutputFile(Path); //in my class
Prozess.start(ProcessCommand);


while(!Prozess.waitForFinished(2000))
{
qApp->processEvents();
std::cerr << "Process running " << std::endl;
}

QProcess::ExitStatus Status = Prozess.exitStatus();

if (Status == 0)
{
std::cout << "File created!" << std::endl;
}
}

所以,我的概率是对话框内容由于某种原因丢失了。在对话框中我有一些文本和一个按钮。我只想在对话框弹出时和进程运行时看到该内容。任何解决方案或想法如何实现这一点?问候

最佳答案

尝试使用 QDialog 的 exec() 方法而不是 show() 这将达到模态窗口的目的。

这也可以解决您的问题。QPushButtons 和 QLabels(按钮和文本)丢失这可能是您的布局或对话框窗口大小的问题(请将其放大后尝试)。

检查预览窗口(OPTIONS MENU -> FORM EDITOR -> PREVIEW)

关于c++ - 运行带有 while 循环的进程时,对话框内容丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9874215/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com