在画布上放置变量和其他文本

2 投票
1 回答
1717 浏览
提问于 2025-04-18 01:07

我想从用户输入中获取一个变量,然后把这个变量放到画布上,比如说如果他们选择了'250',就显示'谁先到250就赢了!'。

def GameLengthTwoPlayer():
    canvas.delete(ALL)
    global tk

    def print_it(event):
        global name
        name = var.get()
        TwoPlayer()

    var = IntVar()
    var.set("Choose the Score Limit")
    optmen = OptionMenu(tk, var, 20,50,100,250,500,1000, command=print_it)
    optmen.configure(width = 20)
    optmen_window = canvas.create_window(350,400, window=optmen)

这个代码是用下拉框来获取用户的输入。不过,当我试着把变量'name'放进canvas.create_text的时候,它不工作。

global name
obj= name
str(obj)
canvas.create_text(350, 355,  fill='red', font =('Bauhaus 98',20), text='Testing' + obj + 'test')
canvas.pack() #Packs canva

我遇到了一个错误,提示'TypeError: Can't convert 'int' object to str implicitly',但我不是已经把它转成字符串了吗?

如果有人能帮我解决这个问题,那就太好了。

1 个回答

1

你把它变成了一个字符串,但你没有把它保存到任何地方。

global name obj= str(name) canvas.create_text(350, 355, fill='red', font=('Bauhaus 98', 20), text='Testing' + obj + 'test') canvas.pack() # 打包画布

撰写回答