虽然我使用 StringVar 进行相同操作,但我的 Python 标签文本没有改变。要更改什么?

问题描述 投票:0回答:1
import random
import tkinter as tk
from tkinter import *

def roll():
    lbl_result["text"] = str(random.randint(1, 6))

window = tk.Tk()
v = tk.StringVar()
v.set("Result")

window.columnconfigure([0,2], minsize=150)
window.rowconfigure([0, 2], minsize=50)

btn_roll = tk.Button(bg ="YELLOW",fg = "BLUE",text="Roll", command=roll)
btn_roll.grid(row =0,column =1)
lbl_result = tk.Label(width = 2,height =1,bg="GREEN",fg="YELLOW")

btn_roll.grid(row=0, column=1, sticky="nsew")
lbl_result.grid(row=2, column=1)

a =  lbl_result.cget('text')
print(" Random no is :",a)
if a == "6":
     v.set("You Win")
lbl_result1 = tk.Label(textvariable = v,width = 6,height=2,bg="BLUE",fg="YELLOW")
lbl_result1.grid (row=1,column=1)


window.mainloop()
python label
1个回答
0
投票

我在命令按钮调用的函数中合并了我想要的标签文本更改。现在代码工作正常。

之前调用的函数是这样的

def roll(): lbl_result["text"] = str(random.randint(1, 6)) NOW I changed it to def roll(): lbl_result["text"] = str(random.randint(1, 6)) if lbl_result["text"] == "6": lbl_result1["text"] = " U Win"
    
© www.soinside.com 2019 - 2024. All rights reserved.