[英]How to easily get the button Press in a dialog box in Qt/C++
我写了一个应用程序,主要相当于mac osx finder。 将文件复制到文件夹时,我正在检查是否已存在同名文件。 如果存在,我要问用户是要取消,覆盖还是不覆盖。
已使用QT设计器创建了覆盖对话框,并生成了dialogoverwrite.ui,.cpp和.h。
用户界面
dialogoverwrite.cpp
#include <QDialogButtonBox>
#include "dialogoverwrite.h"
#include "ui_dialogoverwrite.h"
DialogOverwrite::DialogOverwrite(QWidget *parent) :
QDialog(parent),
ui(new Ui::DialogOverwrite)
{
ui->setupUi(this);
}
DialogOverwrite::~DialogOverwrite()
{
delete ui;
}
dialogoverwrite.h
#include <QDialog>
#include <QDialogButtonBox>
namespace Ui {
class DialogOverwrite;
}
class DialogOverwrite : public QDialog
{
Q_OBJECT
public:
explicit DialogOverwrite(QWidget *parent = 0);
~DialogOverwrite();
private:
Ui::DialogOverwrite *ui;
};
我在My TreeWidget应用程序中使用此类,如下所示,我只会添加所需的代码
DialogOverwrite *OverwriteDialog = new DialogOverwrite;
OverwriteDialog->exec();
一种OverwriteDialog.button.value对我而言可能是完美的。
执行程序将显示对话框并等待用户操作。 如何轻松捕获返回值:取消,是,YesToAll,否,NoToAll
我正在寻找一个容易得到的。 我想避免使用signal / connecT在dialogoverwrite类中使用任何其他方法。 我真的只需要按钮值来做出反应。
非常感谢
用代表关闭按钮之一的值调用QDialog::done(int r)
。 该值由exec()
返回。
默认值由QDialog::DialogCode
枚举提供。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.