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

5

大家好,我正在通过YouTube上的一系列教程学习pyqt5,但我不明白为什么QtWidgets.QApplication有一个sys.argv参数。我对sys库不熟悉,虽然我已经阅读了文档,但仍然不知道具体含义,对此感到抱歉,我知道这个问题有点新手。

import sys
from PyQt5 import QtWidgets


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

window()

可能是Python PyQt4中sys.argv的用途是什么的重复问题。 - ekhumoro
1个回答

0

来自文档

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']

针对您的具体问题,请查看此链接:为什么在PyQt中启动QApplication需要"sys.argv"?

基本上,QT应用程序可以从命令行接收初始化参数,顶部答案应该会指向一个包含它们列表及其功能说明的页面。


我不明白为什么QtWidgets.QApplication需要sys.argv作为参数。尽管这个答案解释了什么是sys.argv,但它并没有解释为什么QtWidgets.QApplication需要它作为参数。 - SethMMorton
为什么只基于标题回答问题? - SethMMorton
我不熟悉sys库,虽然我已经阅读了文档,但仍然一无所知,对不起,我知道这个问题有点新手。我认为sys.argv的含义以及在构造函数中使用它时的影响是相当明显的。我的错,我已经澄清了。 - Saedeas
所以,sys.argv基本上是我在我的Discord机器人中使用的,例如!bot_name play <link>。 - walrus
@walrus,请阅读我链接的另一个重复问题的这个答案。它应该能够澄清一切。 - ekhumoro
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接