回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>代码:</p>
<pre><code>def createLetters(frame, startX, startY, width, height, spacing):
alphabet = ["A", "B", "C", "D", "E", "F", "G", "H", "I",
"J", "K", "L", "M", "N", "O", "P", "Q", "R",
"S", "T", "U", "V", "W", "X", "Y", "Z"]
def letterAction(letter):
letter.destroy()
for i in range(0, 26):
if (i >= 9 and i <= 17):
y = startY + height + 2 * spacing
x = startX + ((width + spacing) * (i - 9))
elif (i >= 17):
y = startY + 2 * height + 3 * spacing
x = (width + spacing) / 2 + startX + ((width + spacing) * (i - 18))
elif (i <= 8):
y = startY + spacing
x = startX + ((width + spacing) * i)
exec(alphabet[i] + " = Button(" + frame + ", text = '" + alphabet[i] + "', command = letterAction(" + alphabet[i] + "))")
exec(alphabet[i] + ".place(x = " + str(x) + ", y = " + str(y) + ", width = " + str(width) + ", height = " + str(height) + ")")
</code></pre>
<p>错误:</p>
^{pr2}$
<p>我试图用一个循环创建多个tkinter按钮。我可以很好地创建按钮,但似乎不能为它们创建回调。当我尝试时,它告诉我我用于按钮的变量没有定义。我试着在我定义按钮的地方添加“exec(”global“+alphabet[I])”,但这并没有改变任何东西。在</p>