[英]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.