什么是python PyQt4中使用的sys.argv
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了什么是python PyQt4中使用的sys.argv,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2853字,纯文字阅读大概需要5分钟。
内容图文
![什么是python PyQt4中使用的sys.argv](/upload/InfoBanner/zyjiaocheng/761/5dfb3e2690154f3fad400f050c39fb6d.jpg)
在编程方面,我还是初学者,在GUI编程方面,我是新手.我正在使用python和PyQt4,我正在遵循教程指南.以下代码块相对容易理解:
import sys
from PyQt4 import QtGui
def window():
app = QtGui.QApplication(sys.argv)
w = QtGui.QWidget()
b= QtGui.QLabel(w)
b.setText("Hello World!")
w.setGeometry(100,100,200,50)
b.move(50,20)
w.setWindowTitle(“PyQt”)
w.show()
sys.exit(app.exec_())
if __name__ == '__main__':
window()
我可以很好地了解这里发生的事情,但有人可以向我解释一下sys.argv实际上在做什么吗?我不想只是盲目地把它放在每一次,希望它能使我的代码工作!
解决方法:
argc(参数count =参数数)和argv(数组或参数值列表,取决于语言)是操作系统作为参数提供给程序的内容.在其他世界:“如何被称为”.
正如cptPH的回答清楚地说明的那样,这不是Qt或Python特有的.看看这里:
https://en.wikipedia.org/wiki/Entry_point
对于C和C:
https://en.wikipedia.org/wiki/Entry_point#C_and_C.2B.2B
对于Python:
https://en.wikipedia.org/wiki/Entry_point#Python
即使shell脚本也有这些,称为“位置参数”:
http://www.tldp.org/LDP/abs/html/othertypesv.html
即使你的程序根本没有命令行选项,无论语言或操作系统如何(除非非常非常奇特的),你总是需要最低限度:
> a argc为1,因为,
> argv number 0将是调用程序的名称
(这可能会有所不同,例如,如果您通过符号链接调用它,或者
只是因为你改变了构建过程的目标二进制文件,
你的程序“foo”现在是“bar” – ex use:打印输出时不要使用硬编码程序名,而是使用argv编号0).
迟早,你将编写使用选项/参数的程序.所以你会使用这些.示例:您可能需要添加“–verbose”或“–debug”选项.或者“–input-file”如果是关于文件处理的话.随你.您的程序将在启动时解析这些argv,并通过明智的编码,相应地更改其运行时行为.
示例:即使是Python也可以使用很多可选选项,并使用argc / argv处理它们.从Python 3手册页:
python [ -B ] [ -b ] [ -d ] [ -E ] [ -h ] [ -i ] [ -I ]
[ -m module-name ] [ -q ] [ -O ] [ -OO ] [ -s ] [ -S ] [ -u ]
[ -v ] [ -V ] [ -W argument ] [ -x ] [ [ -X option ] -? ]
[ -c command | script | - ] [ arguments ]
…这些都是Python解释器的argv.
编辑:
Qt应用程序的真实示例:
我参与了开发的Qt网络应用程序.它可以在2种互斥模式下运行:
>“正常”模式,
>或“间谍模式”:这是特殊的,因为它需要网络
某些低级操作的管理员权限.
所以我添加了一个CLI -s / – spy-mode CLI选项.这是一个可选的argv.
在应用程序代码的开头,我检查了这个argv -s / – spy-mode CLI选项
>如果在没有此选项的情况下以“正常”模式运行,则GUI元素相关
“间谍”模式甚至根本不显示给用户,也不显示
它的班级实现了.那很干净,因为否则它会
无论如何,在许多物体实例/方法中都失败了
因为低级别的调用会失败,所以整个地方都会出错
无论如何,然后我将以非零返回码退出.那不是
好.如果您可能失败,请尽快失败.
>如果使用此argv选项以“间谍”模式启动,则首先要做的事情
我在我的代码中检查调用用户确实有这样的
“网络管理员”权限,然后1 /如果他没有,发出
一个明确的错误消息/弹出窗口,解释“你应该
有blablabla特权,blablabal尝试sudo blablabla“,然后
以非零返回码退出,如果用户确实有,则退出2
所需的权限,提供特殊的“间谍模式”GUI元素和
把它们使用,没问题(并隐藏大部分GUI“正常模式”
元素,在这种操作模式中毫无意义).
这就是argc / argv的优点.
内容总结
以上是互联网集市为您收集整理的什么是python PyQt4中使用的sys.argv全部内容,希望文章能够帮你解决什么是python PyQt4中使用的sys.argv所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。