如果在 QMessageBox 中单击是按钮,则打印一些内容

print something if the Yes Button is clicked in QMessageBox

我正在使用 PyQt5 并创建了一个 QMessagebox,如果单击“是”按钮,我想打印一些内容。 这是我的代码

self.messageBox = QMessageBox()
self.messageBox.setText("Are You Sure with Left Edge You Chosed?")
self.messageBox.setStandardButtons(QMessageBox.Yes | QMessageBox.No)
if self.messageBox == QMessageBox.Yes:
    self.confirmation = 1
    print("Yess Clicked")
else:
    self.confirmation = 0
self.messageBox.exec()

您将 QMessageBox 小部件与 QMessageBox.Yes 进行比较,这毫无意义。如果你想获得与按下的按钮关联的标准按钮,那么你必须使用 standardButton() and clickedButton() 方法:

self.messageBox = QMessageBox()
self.messageBox.setText("Are You Sure with Left Edge You Chosed?")
self.messageBox.setStandardButtons(QMessageBox.Yes | QMessageBox.No)
self.messageBox.exec_()

if self.messageBox.standardButton(self.messageBox.clickedButton()) == QMessageBox.Yes:
    self.confirmation = 1
    print("Yess Clicked")
else:
    self.confirmation = 0