首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如果按钮在列表中,如何编辑按钮上的文本?

如果按钮在列表中,如何编辑按钮上的文本?
EN

Stack Overflow用户
提问于 2018-09-17 17:44:10
回答 1查看 36关注 0票数 0

嗨,我使用并创建了一个按钮列表。我一直试图对它进行编程,所以如果你按下一个按钮,上面的文字就会变成X或O(对于游戏tic脚趾)。我尝试使用按钮"text“=”text“,但它只是出现了一个错误。以下是目前为止的代码:

代码语言:javascript
代码运行次数:0
运行
复制
from tkinter import *
import tkinter.messagebox
tk=Tk()
tk.title("Tic Tac Toe")

bclick = True

buttons =  [" "," "," "," "," "," "," "," "," ",]
button_list = [" "," "," "," "," "," "," "," "," ",]
def make_button(n, row, col):
    button_list[n] = Button(tk,text=" ",bg='gray',fg='white',height=4,width=8,command=lambda:ttt(buttons, n))
    button_list[n].grid(row=row,column=col, sticky=S+N+E+W)
    button_list[n] = n

a = 0
B = [0,0,0,1,1,1,2,2,2]
C = [0,1,2,0,1,2,0,1,2]
while a != 9:
    b=B[a]
    c=C[a]
    make_button(a, b, c)
    a+=1

def ttt(buttons, n):
     global bclick
     if buttons[n] == " " and bclick == True:
         buttons[n] = "X"
         button_list[n]["text"] = "X"
         bclick = False
     elif buttons[n] == " " and bclick == False:
          buttons[n] = "O"
          bclick = True

注释中的错误:

在ttt button_listn = "X“TypeError:'int‘对象中,文件"C:\Users\Eva Morris\Documents\计算\Tic-Tac-Toe.py”第28行不支持项分配。

EN

回答 1

Stack Overflow用户

发布于 2018-09-17 21:13:41

问题在于您的代码-您用整数覆盖Button实例:

代码语言:javascript
代码运行次数:0
运行
复制
def make_button(n, row, col):
    button_list[n] = Button(tk,text=" ",bg='gray',fg='white',height=4,width=8,command=lambda:ttt(buttons, n))
    button_list[n].grid(row=row,column=col, sticky=S+N+E+W)
    button_list[n] = n # here you are assigning an INT to button_list[n]

int上,不支持通过["text"]进行访问。这就是错误信息告诉你的。这就是为什么向我们提供准确的错误问题的原因。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52373184

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档