我无法让我的错误消息框在pyqt中工作

时间:2017-02-28 05:39:50

标签: python python-2.7 pyqt pyqt4

在我的初始化函数中,我已经定义了一个错误消息框,如下所示:

 self.error_msg = QtGui.QMessageBox()
 self.error_msg.setIcon(QtGui.QMessageBox.critical)
 self.error_msg.setWindowTitle("Error")
 self.error_msg.setDetailedText("")

在另一种方法上,我尝试通过设置错误文本来调用这样的消息框:

def detectRoot(self):
    euid = os.geteuid()
    if euid != 0:
        print "need to be root to run this program"
        self.logger.error("Not root, program exited")
        self.error_msg.setText("You need to be root to run this program")
        self.error_msg.exec_()
        exit(1)

但是,我不断收到消息pyqt / python错误:

self.error_msg.setIcon(QtGui.QMessageBox.critical)
TypeError: QMessageBox.setIcon(QMessageBox.Icon): argument 1 has unexpected type 'builtin_function_or_method'

1 个答案:

答案 0 :(得分:2)

根据documentation

  

QMessageBox :: NoIcon :消息框中没有任何图标。

     

QMessageBox ::问题:表示邮件正在提问的图标。    QMessageBox ::信息:一个图标,表示该消息没有任何异常。    QMessageBox ::警告:一个图标,表示该消息是警告,但可以处理。

     

QMessageBox ::严重:表示邮件代表严重问题的图标。

QtGui.QMessageBox.critical更改为QtGui.QMessageBox.Critical