QDialogを継承したダイアログ作成
QDialogButtonBoxを使うようにするとAccept, Rejectを使って直感的にDialogクラスとやりとりできるし、キーを押したときの挙動も統一できる(Enter押すとAcceptとか)。
class MyDialog(QDialog): def __init__(): super().__init__() buttons = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel) buttons.accepted.connect(self.accept) buttons.rejected.connect(self.reject) lo = QVboxLayout() lo.addWidget(buttons) self.setLayout(lo) diag = MyDialog() diag.exec_() if diag.result() == QDialog.Accepted: print('ok') else: print('cancel')