我有一本字典,里面有某些元素和相关的键。我想创建一个GUI来显示项目。我在for循环中使用了QMessageBox PyQt小部件。但是,当我运行代码时,出现以下错误:

追溯(最近一次通话最近):main()中的文件“ C:\ Python34_64bit \ dictt.py”,第50行,主GUI = MYGUI()文件中的“ C:\ Python34_64bit \ dictt.py”,行45 init self.Choice = QtGui.QMessageBox.Question(self,k,val,QtGui.QMes‌sageBox.Yes | QtGui.QMessageBox.No)中的“ C:\ Python34_64bit \ dictt.py”,第31行,类型错误:'Icon '对象不可调用

请帮助我如何通过修改我的代码来解决此问题。下面是我的代码:

import sys
from PyQt4 import QtGui,QtCore

class MYGUI(QtGui.QWidget):

    def __init__(self):
        super(MYGUI,self).__init__()

        self.setWindowTitle("GUI")

        #widgets:

        self.labl=QtGui.QLabel(self)
        self.labl.setFont(QtGui.QFont('Calibri', 34))


        #Layout:

        Layout =QtGui.QVBoxLayout()
        Layout.addWidget(self.labl)
        Layout.addStretch()
        self.setLayout(Layout)

        #Actions:


        Queries={'Q1':'question 1','Q2':'question2'}

        for k,val in Queries.items():

            self.Choice=QtGui.QMessageBox.Question(self,k,val,QtGui.QMessageBox.Yes | QtGui.QMessageBox.No)

            if choice==QtGui.QMessageBox.Yes:
                self.labl.setText('yes')

            else:
                self.labl.setText('No')

        self.show()


def main():

    app=QtGui.QApplication(sys.argv)
    GUI=MYGUI()

    sys.exit(app.exec_())


main()

最佳答案

您的问题仅在于大小写。

QMessageBox.Question是图标

QMessageBox.question(parent, title, text, button0, button1)是函数

参见:https://srinikom.github.io/pyside-docs/PySide/QtGui/QMessageBox.html

关于python - 如何纠正python错误:“icon对象不可调用”?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44152848/

10-13 07:30