Trochu mě vylekala ta návratová hodnota QMessageBoxu podle pozice tlačítka, to nevypadá moc šikovně, ale dokumentace Qt uvádí ještě jednu možnost, jak testovat návratovou hodnotu dialogu s tlačítkem přidaným pomocí addButton:
msgBox = QMessageBox()
msgBox.setText(u'Zpráva')
connectButton = msgBox.addButton("Connect", QMessageBox.ActionRole)
abortButton = msgBox.addButton(QMessageBox.Abort)
msgBox.exec_()
if msgBox.clickedButton() == connectButton:
print('CONNECT')
elif msgBox.clickedButton() == abortButton:
print('ABORT')