簡體   English   中英

單擊 PyQt5 對話框按鈕框中的特定按鈕后如何執行 function?

[英]How to execute a function after click particular button in PyQt5 Dialog Button Box?

這是我在 Python 上設計的對話框按鈕框:

    self.buttonBox = QtWidgets.QDialogButtonBox(Frame)
    self.buttonBox.setGeometry(QtCore.QRect(200, 216, 144, 27))
    self.buttonBox.setFont(font)
    self.buttonBox.setAcceptDrops(False)
    self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Discard|QtWidgets.QDialogButtonBox.Save)
    self.buttonBox.setObjectName("buttonBox")

如上圖有兩個按鈕,分別是DiscardSave 單擊SaveDiscard時如何執行特定的唯一 function 。 我試過的是:

    self.buttonBox.accepted.connect(self.save)
    self.buttonBox.rejected.connect(self.discard)

但是,function 僅在我單擊Save時執行,而在我單擊Discard時不起作用。 如何處理?

Discarddestructive按鈕,而不是reject按鈕。 你可以:

  • 使用CancelCloseAbort並鏈接到被rejected的信號,就像您已經在做的那樣
  • 如果您需要使用Discard ,請連接到clicked信號,然后在您的self.discard function 中驗證 clicked 按鈕(隨信號傳遞)是Discard按鈕,然后再做任何事情

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM