Я хотел бы обновить ярлык, как только я нажму одну из кнопок. Вот мой код - я добавил метку (caled label1
), теперь у меня есть два вопроса:Как обновить ярлык на tkinter
- Он представляет некоторые тарабарщина
- Как обновить этикетку с текстом справа, когда пользователь нажимает Обзор кнопка?
from tkinter import *
import threading
class Window(Frame):
def __init__(self, master=None):
Frame.__init__(self, master)
self.master = master
self.init_window()
def init_window(self):
self.var = IntVar()
self.master.title("GUI")
self.pack(fill=BOTH, expand=1)
quitButton = Button(self, text="Exit", command=self.client_exit)
startButton = Button(self, text="Browse", command=self.start_Button)
label1 = Label(self, text=self.lable_1)
quitButton.grid(row=0, column=0)
startButton.grid(row=0, column=2)
label1.grid(row=1, column=0)
def client_exit(self):
exit()
def lable_1(self):
print('starting')
def start_Button(self):
def f():
print('Program is starting')
t = threading.Thread(target=f)
t.start()
root = Tk()
root.geometry("250x50")
app = Window(root)
root.title("My Program")
root.mainloop()
использование 'self.label1', чтобы получить доступ к' label'. BTW: 'self.label_1' является функцией, и нет смысла использовать его как текст -' text = self.label_1'. BTW: 'print' отправляет только текст на экране - он не присваивает значение переменной - используйте' return' вместо 'print' в функции' label_1', а затем вы можете сделать 'text = self.lable_1()' - с '()' в конце. – furas
BTW: в tkinter вы можете использовать 'root.after (milisecond, function_name)' для запуска функции периодически и, возможно, вам не понадобятся нити. – furas
Вы искали этот сайт для ответа, прежде чем задавать этот вопрос? Существует множество примеров программ, которые обновляют метку, и многие из них делают это многократно без использования потоков. –