pycharm use pyside2 TypeError:“NoneType”对象不是callab

2024-04-25 05:47:33 发布

您现在位置:Python中文网/ 问答频道 /正文

# -*- coding:utf-8 -*-
import sys
from PySide2.QtWidgets import QApplication, QLabel
print(sys.argv)
if __name__ == '__main__':
    dates = QApplication(sys.argv)
    label = QLabel('hello world')
    label.show()
    sys.exit(dates.exec_())

错误

['E:/MayaTool/glTools/test.py']
Traceback (most recent call last):
  File "E:/MayaTool/glTools/test.py", line 6, in <module>
    dates = QApplication(sys.argv)
TypeError: 'NoneType' object is not callable

你知道吗** 这段代码在python中运行,并有自己的编辑器,但在Pycharm中有问题。有什么问题吗 **你知道吗


Tags: frompytestimportsyslabelutfdates
1条回答
网友
1楼 · 发布于 2024-04-25 05:47:33

here所示,QApplication类的初始化接受了作为sys.argv运行Python脚本时传递的参数。正如您所怀疑的,当在IDLE中运行时,有参数传递给程序,但是在PyCharm中没有(0)个参数传递,因此sys.argv返回None。初始化QApplication尝试遍历参数列表,因为它需要list字符串(参数)。你知道吗

一个简单的解决方法是检查sys.argv是否是None,例如

# -*- coding:utf-8 -*-
import sys
from PySide2.QtWidgets import QApplication, QLabel
print(sys.argv)
if __name__ == '__main__':
    if sys.argv is None:
        sys.argv = []
    dates = QApplication(sys.argv)
    label = QLabel('hello world')
    label.show()
    sys.exit(dates.exec_())

相关问题 更多 >