簡體   English   中英

在 python tkinter 中更新 label 變量

[英]update label variable in python tkinter

from tkinter import *
import tkinter as tk
import random

f = 0

def test_print():
    f = random.randint(0,118)
    master.update_idletasks()

# creating Tk window
master = Tk()

master.minsize(600,400)
 
var = IntVar()
var.set(f)

# cretaing a Fra, e which can expand according
# to the size of the window
pane = Frame(master)
pane.pack(fill = BOTH, expand = True)
 
# button widgets which can also expand and fill
# in the parent widget entirely
# Button 1
b1 = Button(pane, text = "Click me !", 
            background = "red", fg = "white", command = test_print)
b1.pack(side = TOP, expand = True, fill = BOTH)
 
label = tk.Label(pane, textvariable = var)
label.pack(side = BOTTOM, expand = False)

# Execute Tkinter
master.mainloop()

這段代碼運行良好,但是當我按下按鈕時它沒有給我一個隨機數。 我需要它給我一個隨機的 output 以便我可以從列表中獲取一個隨機元素。 有人對此有答案嗎?

這里是。 現在可以看到 label 發生了變化:

from tkinter import *
import tkinter as tk
import random


def test_print():
    f = random.randint(0, 118)
    label.configure(text=str(f))
    master.update_idletasks()


# creating Tk window
master = Tk()

master.minsize(600, 400)

# cretaing a Fra, e which can expand according
# to the size of the window
pane = Frame(master)
pane.pack(fill=BOTH, expand=True)

# button widgets which can also expand and fill
# in the parent widget entirely
# Button 1
b1 = Button(pane, text="Click me !",
            background="red", fg="white", command=test_print)
b1.pack(side=TOP, expand=True, fill=BOTH)

label = tk.Label(pane)
label.pack(side=BOTTOM, expand=False)

# Execute Tkinter
master.mainloop()

這是答案

from tkinter import *
import tkinter as tk
import random

maxnumber = 118
f = random.randint(0,maxnumber)
def test_print():
   master.update_idletasks()
   label.configure(textvariable = var)

# creating Tk window
master = Tk()

master.minsize(600,400)

var = IntVar()
var.set(f)

# cretaing a Fra, e which can expand according
# to the size of the window
pane = Frame(master)
pane.pack(fill = BOTH, expand = True)

# button widgets which can also expand and fill
# in the parent widget entirely
# Button 1
b1 = Button(pane, text = "Click me !", 
        background = "red", fg = "white", command = test_print)
b1.pack(side = TOP, expand = True, fill = BOTH)

label = tk.Label(pane)
label.pack(side = BOTTOM, expand = False)

# Execute Tkinter
master.mainloop()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM