An "Ignore" button defined with the AcceptRole.
так что нажатие на эту кнопку испускает сигнал accepted, который можно поймать в диалоге и либо соединить со стандартным слотом accept(), либо вызвать в своём слоте done() с нужным числом
C++ (Qt)
void QDialog::done ( int r ) [virtual slot]
Не?
done() вызывается внутри диалога обычно, а вызывающий код вызывает exec() (ну или show())