QDialog - 如何在pyqt5中使用自定义按钮关闭

QDialog - how to close with custom button in pyqt5

我使用此代码打开对话框,但我不知道如何在没有默认按钮的情况下关闭它

代码:

class MyApp (QMainWindow):
    def __init__(self) -> None:
        super().__init__()
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)
        #### signals ####
        self.ui.action_add_contacte.triggered.connect(self.Dialog_add_contact)
        
        
    def  Dialog_add_contact(self):
        dialog = QtWidgets.QDialog()
        dialog.ui = Ui_Dialog_add_contacte()
        dialog.ui.setupUi(dialog)
        dialog.ui.btn_cancel_add_contacte.clicked.connect(lambda:pass #some code need to close)
        dialog.exec_()

我试试

Dialog.ui.close()

但没用

就像任何小部件一样,dialog.close()

ui 不是小部件,它是助手 class 对象,您不能 close() 它。