为什么QtWidgets.QApplication需要sys.argv?

时间:2017-09-01 01:24:15

标签: python-3.x pyqt5 sys

大家好,我正在youtube的一系列教程中学习pyqt5,我没有理解为QtWidgets.QApplicationsys.argv参数{i}我不熟悉sys库i阅读文档,但仍然没有任何线索,很抱歉,我知道这个问题是一种愚蠢的行为。

import sys
from PyQt5 import QtWidgets


def window():
    app = QtWidgets.QApplication(sys.argv)
    w=QtWidgets.QWidget()
    w.show()
    sys.exit(app.exec_())

window()

1 个答案:

答案 0 :(得分:-2)

来自docs

  

sys.argv中

     

传递给Python脚本的命令行参数列表。 argv [0]是脚本名称(无论这是否是完整路径名,它依赖于操作系统)。如果使用解释器的-c命令行选项执行命令,则将argv [0]设置为字符串' -c'。如果没有脚本名称传递给Python解释器,则argv [0]为空字符串。

     

要循环标准输入或命令行上给出的文件列表,请参阅fileinput模块。

示例:

python foo.py
sys.argv = ['foo.py']

python foo.py bar baz
sys.argv = ['foo.py', 'bar', 'baz']

有关您的具体问题,请参阅此链接:Why do I need "sys.argv" to start a QApplication in PyQt?

基本上,QT应用程序可以从命令行获取初始化参数,最上面的答案应该指向它们的列表,并解释它们的作用。