QApplication, QDialog 的返回值

本文探讨了QApplication类与QDialog对话框在处理返回值的不同方法,包括QApplication的事件循环和QDialog的执行及关闭策略。
摘要由CSDN通过智能技术生成

QApplication

#include <QtWidgets/QApplication>
#include <QCoreApplication>
#include <QString>
#include <QProcess>
static QString strExeStartPath = "";

void reLogin()
{
    QProcess process;
    process.startDetached(strExeStartPath);
}
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    int rerunCode=a.exec();
    if(returnCode==1)
        atexit(reLogin); 
    retu
`dialog.exec()` 是一个阻塞函数,它用于显示对话框并等待用户的操作。当调用 `dialog.exec()` 时,程序会暂停在该行代码,直到用户关闭对话框。 `exec()` 函数会返回一个整数值,表示对话框的退出状态。通常情况下,它会返回一个预定义的枚举值,例如 `QDialog::Accepted` 表示用户点击了对话框的确定按钮,而 `QDialog::Rejected` 表示用户点击了取消按钮。 在调用 `dialog.exec()` 之后,你可以根据返回值来判断用户的操作,并执行相应的逻辑。 以下是一个示例代码,演示了如何使用 `exec()` 函数及根据返回值执行不同的逻辑: ```cpp #include <QApplication> #include <QDialog> #include <QPushButton> int main(int argc, char *argv[]) { QApplication app(argc, argv); // 创建对话框 QDialog dialog; dialog.setWindowTitle("Confirmation Dialog"); // 创建确定按钮 QPushButton okButton("OK"); dialog.layout()->addWidget(&okButton); // 连接按钮的点击信号与槽函数 QObject::connect(&okButton, &QPushButton::clicked, [&]() { dialog.accept(); // 设置对话框的退出状态为 Accepted }); // 显示对话框并等待用户操作 int result = dialog.exec(); // 根据对话框的退出状态执行相应逻辑 if (result == QDialog::Accepted) { // 用户点击了确定按钮 // 执行相关操作 } else if (result == QDialog::Rejected) { // 用户点击了取消按钮 // 执行相关操作 } return app.exec(); } ``` 在上述代码中,我们创建了一个简单的确认对话框,包含一个确定按钮。通过连接按钮的点击信号与槽函数,当用户点击确定按钮时,调用 `dialog.accept()`,将对话框的退出状态设置为 Accepted。然后根据 `dialog.exec()` 的返回值,判断用户的操作,并执行相应的逻辑。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值