QDialog的使用

当自己新建的对话框类被用作模态对话框,且要进行时

if(dia->exec() == QDialog::Accepted)
 {

}这种判断时,需要约束两种信号槽的绑定方式,如下

(第一种)需要将确定和取消按钮绑定QDialog自带的信号槽,用如下代码:

connect(m_pUI->pushButton_ok, SIGNAL(clicked()), this, SLOT(accept()));
connect(m_pUI->pushButton_cancel, SIGNAL(clicked()), this, SLOT(reject()));

然后重写virtual void accet()私有槽函数,以实现点击确定后要完成的功能,在该函数最后要加上QDialog::accept();这句话,用来关闭对话框

(第二种)或者绑定自己写的槽函数 ,如下所示:

QObject::connect(m_pUI->okbtn, SIGNAL(clicked()), this, SLOT(slotOk()));

 QObject::connect(m_pUI->cancelbtn, SIGNAL(clicked()), this, SLOT(slotCancel()));

但是在slotOk() 槽函数中要调用QDialog::accept(),在slotCancel()中要调用QDialog::reject();

当不被用作模态对话框时或不需要进行if(dia->exec() == QDialog::Accepted)判断时,确定取消按钮可以关联其他自己写的槽函数来实现要完成的功能 但是在自己写的槽函数最后也要加上QDialog::accept();这句话用来关闭对话框。

你可能感兴趣的:(QDialog的使用)