【问题标题】:Tuple index out of range Tkinter元组索引超出范围 Tkinter
【发布时间】:2013-05-15 10:31:57
【问题描述】:

所以我有一个程序应该将函数作为输入并在 Tkinter 画布上绘制它。

    def draw(self):
    self.canvas.delete(ALL)
    for n, i in enumerate(self.sav):
        self.function, colour = self.sav_func[n]
        i = self.p1(i)
        i = self.p2(i, self.function, colour)
        if i != [0]:
            try:
                self.canvas.create_line(i, fill = colour)
            except TclError as err:
                tkMessageBox.showerror(TclError, err)
                self.sav.remove(self.sav[len(self.sav)-1])
                self.sav_func.remove(self.sav_func[len(self.sav_func)-1])

这部分给了我以下错误:

    Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Python27\lib\lib-tk\Tkinter.py", line 1410, in __call__
    return self.func(*args)
  File "D:/Google Drive/assign2_2-1.py", line 113, in add_func
    self.redraw_all()
  File "D:/Google Drive/assign2_2-1.py", line 132, in redraw_all
    self.draw()
  File "D:/Google Drive/assign2_2-1.py", line 145, in draw
    self.canvas.create_line(i, fill = colour)
  File "C:\Python27\lib\lib-tk\Tkinter.py", line 2201, in create_line
    return self._create('line', args, kw)
  File "C:\Python27\lib\lib-tk\Tkinter.py", line 2182, in _create
    cnf = args[-1]
IndexError: tuple index out of range

据我所知,这与输入数量与输出数量不匹配有关,但我还是有点迷茫。帮助会很棒!

【问题讨论】:

  • 您的代码中的缩进不正确。

标签: graph indexing plot tkinter tuples


【解决方案1】:

看起来i 没有足够的值。要创建一条线,它需要四个值:x1,y1,x2,y2。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-28
    • 2021-03-02
    • 2018-11-16
    • 2016-04-04
    • 2020-06-08
    相关资源
    最近更新 更多