新建一个QDialog设计师界面类

pushButton的点击处理,点击后关闭对话框返回777
判断dialog返回值
Dialog d;
int ret = d.exec();
if(ret == QDialog::Accepted){//点击了确认按钮
qDebug()<<"acc";
}else if(ret == QDialog::Rejected){//点击了取消按钮
qDebug()<<"rej";
}else if(ret == 777){//点击了pushButton
qDebug()<<777;
}
如何让QDialog携带返回信息?我的办法是制作一个结构体作为引用传入Dialog,Dialog运行结束后获取结构体的信息
dialog类定义
class Dialog : public QDialog
{
Q_OBJECT
public:
explicit Dialog(MS &, QWidget *parent = nullptr);
~Dialog();
private slots:
void on_pushButton_clicked();
private:
Ui::Dialog *ui;
MS &ms;//成员变量结构体
};
dialog的构造函数传入引用
Dialog::Dialog(MS &arg, QWidget *parent) :
ms(arg),//初始化成员变量
QDialog(parent),
ui(new Ui::Dialog)
{
ui->setupUi(this);
ms.a = 1;
ms.b = 2;
ms.c = 3;
}
使用