You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用tkinter的Canvas.create_window方法触发IndexError如何解决?

问题原因

tkinter的create_window() 方法对前两个坐标参数有特殊要求,必须以位置参数形式传入,不支持使用x=、y=的关键字参数写法,这是其底层实现的固有设计。
你代码中调用create_window时将坐标以关键字参数传入,导致方法内部参数解析逻辑失败,触发IndexError报错。

解决方案

将create_window调用中的x、y参数改为位置参数即可,其余参数如window仍可正常使用关键字参数:

# 原错误写法
# self.c.create_window(x=CELL_SIZE*col,
#                      y=CELL_SIZE*row,
#                      window=b)

# 修正后写法
self.c.create_window(CELL_SIZE*col,
                     CELL_SIZE*row,
                     window=b)

修改完成后将CANVAS常量设为True运行,即可正常将按钮或自定义控件放置到画布上。

内容的提问来源于stack exchange,提问作者Neil_UK

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 04:57:02