【问题标题】:print something if the Yes Button is clicked in QMessageBox如果在 QMessageBox 中单击 Yes 按钮,则打印一些东西
【发布时间】:2020-03-06 22:41:37
【问题描述】:

我正在使用 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()

【问题讨论】:

    标签: python pyqt pyqt5 qmessagebox


    【解决方案1】:

    您将QMessageBox 小部件与QMessageBox.Yes 进行比较,这毫无意义。如果您想获得与按下的按钮关联的标准按钮,则必须使用standardButton()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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-10-14
      • 1970-01-01
      • 1970-01-01
      • 2021-07-06
      • 2018-03-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多