【问题标题】:Type Error: QApplication(List[str]): not enough arguments类型错误:QApplication(List[str]):没有足够的参数
【发布时间】:2017-10-24 04:45:09
【问题描述】:

免责声明:我对编程比较陌生,尤其是 Python 新手。 我正在尝试学习使用 PyQt5 构建 GUI,并且在尝试启动我的应用程序时不断收到错误“类型错误:QApplication(List [str]):没有足够的参数”...我没有看到任何参数使用起来很有意义,而我尝试过的那些(那将是有效的)然后让它说“module.init() 最多接受 2 个参数(3 个给定)”

import sys
from PyQt5 import QtWidgets, QtGui

class Main(QtWidgets.QApplication):
    def __init__(self):
        super(Main, self).__init__()
        self.setGeometry(100, 100, 300, 500)
        self.setWindowTitle('HelloWorld')
        self.setWindowIcon(QtWidget.QIcon('Image.png'))
        self.show()

app = QtWidgets.QApplication(sys.argv)
gui = Main()
sys.exit(app.exec_())

【问题讨论】:

    标签: python pyqt typeerror pyqt5 qapplication


    【解决方案1】:

    查看您的代码,我注意到您将 QApplication 与某些小部件混淆了。

    QApplication 类管理 GUI 应用程序的控制流 和主要设置。 这不是小部件。

    在您的情况下,您可以使用小部件,例如:

    import sys
    from PyQt5 import QtWidgets, QtGui
    
    class Main(QtWidgets.QWidget):
        def __init__(self):
            super(Main, self).__init__()
            self.setGeometry(100, 100, 300, 500)
            self.setWindowTitle('HelloWorld')
            self.setWindowIcon(QtGui.QIcon('Image.png'))
            self.show()
    
    app = QtWidgets.QApplication(sys.argv)
    gui = Main()
    sys.exit(app.exec_())
    

    注意:我已将 self.setWindowIcon(QtWidget.QIcon('Image.png')) 更改为 self.setWindowIcon(QtGui.QIcon('Image.png'))

    【讨论】:

      【解决方案2】:

      QtWidgets.QApplication.__init__() 至少需要在启动时传递给它的参数列表。我的猜测是,当您尝试初始化自己的调用QtWidgets.QApplication init 的Main 类时,您的代码会失败。试试:

      class Main(QtWidgets.QApplication):
          def __init__(self, *args, **kwargs):  # allow it to receive any number of arguments
              super(Main, self).__init__(*args, **kwargs)  # forward to 'super' __init__()
              # etc.
      
      # when initializing:
      gui = Main(sys.argv)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-06-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-04-07
        相关资源
        最近更新 更多