PyGTK教程错误?

2024-10-01 17:30:25 发布

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

我正在使用python2.7和pygtk2.24。我正在学习下面的教程。请阅读代码上下文。你知道吗

http://www.pygtk.org/pygtk2tutorial/sec-PackingDemonstrationProgram.html

下面的代码块(重印如下)在我键入时抛出以下错误(verbatum):

if __name__ =="__main__":
    if len(sys.argv) != 2:
       sys.stderr.write("usage: packbox.py num, where num is 1, 2, or 3.\n")
       sys.exit(1)
    PackBox1(string.atoi(sys.argv[1]))
    main()

usage: packbox.py num, where num is 1, 2, or 3.

Traceback (most recent call last): File "C:/GTKTutorial/packbox.py", line 161, in sys.exit(1) SystemExit: 1

此外,如果我将代码更改为以下内容以克服第一个错误,则会得到下一个错误消息:

if __name__ =="__main__":
    if len(sys.argv) != 1:
       sys.stderr.write("usage: packbox.py num, where num is 1, 2, or 3.\n")
       sys.exit(1)
    PackBox1(string.atoi(sys.argv[1]))
    main()

Traceback (most recent call last): File "C:/GTKTutorial/packbox.py", line 162, in PackBox1(string.atoi(sys.argv[1])) IndexError: list index out of range

怎么了?如何修复代码以便使用教程>


Tags: or代码pyifismain错误sys
2条回答

您需要使用packbox.py 1packbox.py 2packbox.py 3从命令行调用它。你知道吗

这将导致有两个参数(程序名和传递给它的第一个参数),因此不会触发sys.exit(1),并且argv[1]将是有效的索引访问。你知道吗

跑包装箱.py直接从空闲状态

替换:

if __name__ =="__main__":
    if len(sys.argv) != 2:
        sys.stderr.write("usage: packbox.py num, where num is 1, 2, or 3.\n")
        sys.exit(1)
    PackBox1(string.atoi(sys.argv[1]))
    main()  

使用:

if __name__ == "__main__":
    packbox = PackBox1(3)
    main()

要查看所有三个示例小部件排列,请用参数(1)和(2)替换参数(3)。单击X退出窗口;退出按钮在此代码中没有连接。你知道吗

相关问题 更多 >

    热门问题