在编程方面我还是个初学者,尤其在 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 实际上在做什么吗?我不想每次都盲目地把它放进去,希望它能让我的代码工作!
你不需要使用sys.argv在 PyQt 应用程序中。
仅当您想使用命令行参数时它才真正有用。如果不这样做,您可以传入一个空列表:
app = QtGui.QApplication([])
当你使用时sys.argv
,第一个参数自动设置为脚本名称,Qt 将使用它来设置应用名称()。稍后可以通过以下方式访问参数列表参数() method:
# test.py
import sys
from PyQt4 import QtGui
app = QtGui.QApplication(sys.argv)
print('ARGS: %s' % app.arguments())
print('NAME: %r' % app.applicationName())
Output:
$ python test.py -f foo
ARGS: ['test.py', '-f', 'foo']
NAME: 'test.py'
但请注意,有些预定义参数由 Qt 内部处理,并将自动从参数中删除:
$ python test.py -f foo -stylesheet=style.qss
ARGS: ['test.py', '-f', 'foo']
NAME: 'test.py'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)