如何在 QMessageBox 的按钮上放置事件

How to put an event on the buttons of QMessageBox

我只想在消息框的是按钮上设置一个事件,但是当我单击是按钮时,它 returns 我 None 值并且它不满足条件。

def question(self):
    msg = QMessageBox()
    result = msg.setStandardButtons(msg.Yes | msg.No)
    msg.setIcon(msg.Question)
    msg.setText(self.text)
    msg.setWindowTitle('Console')

    if result == msg.Yes:
        print('Yes')

    msg.exec_()

setStandardButtons()是一个setter和returns没什么,逻辑其实就是让按钮被点击,然后得到关联的QMessageBox::StandardButton.

def question(self):
    msg = QMessageBox()
    msg.setStandardButtons(QMessageBox.Yes | QMessageBox.No)
    msg.setIcon(msg.Question)
    msg.setText(self.text)
    msg.setWindowTitle('Console')
    msg.exec_()
    button = msg.clickedButton()
    sb = msg.standardButton(button)
    if sb == QMessageBox.Yes:
        print("YES")