为什么类中的对话框没有执行?

时间:2011-09-30 12:49:37

标签: qt qt4.7

Dialog::Dialog(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::Dialog)
{
    ui->setupUi(this);
    connect(ui->addButton , SIGNAL(clicked()) , this , SLOT(addItem()));
    connect(ui->editButton , SIGNAL(clicked()) , this , SLOT(editItem()));
    connect(ui->deleteButton , SIGNAL(clicked()) , this , SLOT(deleteItem()));
}

void Dialog::addItem()
{
    EditDialog dlg(this);
    dlg.show();

    if(dlg.exec() == EditDialog::Accepted)
    {
        ui->list->addItem(dlg.name() + "--" + dlg.number());
    }
}

添加项目的类对话框。 当我运行程序并单击按钮执行对话框时它没有做任何事情,那么解决方案是什么?

1 个答案:

答案 0 :(得分:2)

您需要使用QDialog :: Accepted

如果您查看QDialog::exec QDialog::DialogCode,则会看到它返回QDialog::Accepted枚举中的值 - 其值为QDialog::Rejected和{{1 }}