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

M.H*_*adi 1 python pyqt qmessagebox pyqt5

我正在使用 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()
Run Code Online (Sandbox Code Playgroud)

eyl*_*esc 5

您将QMessageBox小部件与QMessageBox.Yes它进行比较是没有意义的。如果您想获取与按下的按钮关联的 standardButton,则必须使用standardButton()andclickedButton()方法:

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
Run Code Online (Sandbox Code Playgroud)