gpt4 book ai didi

c++ - 对话窗口在完成之前关闭(已接受);

转载 作者:太空宇宙 更新时间:2023-11-04 11:51:10 25 4
gpt4 key购买 nike

我有一些奇怪的东西,我有一个像这样从 MainWIndow 触发的对话框窗口:

//this is from main window 
DialogUpdateContainer dialogUpdateContainer(this);
dialogUpdateContainer.getFileName(m_new_version_name);
if(dialogUpdateContainer.exec() == QDialog::Accepted )
{
return true;
}

并且在DialogUpdateContainer我有这个简单的代码:

DialogUpdateContainer::DialogUpdateContainer( QWidget *parent) : QDialog(parent),   
ui(new Ui::DialogUpdate)
{
ui->setupUi( this );
pHttpDownloadManager = new HttpDownloadManager();

connect(ui->buttonBox,
SIGNAL(accepted()),
this,
SLOT(OkSettingsHandler()));

connect(ui->buttonBox,
SIGNAL(rejected()),
this,
SLOT(CancelSettingsHandler()));
}

void DialogUpdateContainer::getFileName(QString& fileNameToDownload)
{
fileToDownload = fileNameToDownload;
}

void DialogUpdateContainer::OkSettingsHandler()
{
if(pHttpDownloadManager->downloadFile(fileToDownload))
{
done(Accepted);
}

}
void DialogUpdateContainer::CancelSettingsHandler()
{
done(Rejected);
}

现在的问题是,当我在对话框窗口中单击“确定”时,它会立即关闭,而无需等待 pHttpDownloadManager->downloadFile(fileToDownload&); 完成它甚至永远不会完成(已接受);
为什么?
我希望它等到它完成功能然后才关闭。

最佳答案

很奇怪:

 if(dialogUpdateContainer.exec() == QDialog::Accepted ) {

return true;
}

正常:

 if(dialogUpdateContainer.exec()==QDialog::Accepted ) {

return true;
}

关于c++ - 对话窗口在完成之前关闭(已接受);,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18174814/

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