Как начать мигать мою текстовую метку при нажатии кнопки? - PullRequest
0 голосов
/ 08 февраля 2020

Я попытался создать текстовую метку в tkinter, которая должна начать мигать при нажатии кнопки «1». Для этого я попытался с помощью документации tkinter и другого учебника на Google, но в итоге не смог успешно создать логи c, так как я новичок в python, я обнаружил, что трудно обрабатывать объект события. Вот мой код.

import tkinter as Tk

flash_delay = 500  # msec between colour change
flash_colours = ('white', 'red') # Two colours to swap between

def flashColour(object, colour_index):
    object.config(background = flash_colours[colour_index])
    root.after(flash_delay, flashColour, object, 1 - colour_index)

root = Tk.Tk()
root.geometry("100x100")
root.label = Tk.Text(root, text="i can flash",
                   background = flash_colours[0])
root.label.pack()
#root.txt.insert(Tk.END,"hello")


root.button1=Tk.Button(root,text="1")
root.button1.pack()

root.button.place(x=10,y=40,command = lambda: flashColour(root.label, 0))
root.mainloop()

1 Ответ

1 голос
/ 08 февраля 2020

place не принимает command в качестве аргумента. Вы должны передать его в Button виджет с lambda.

root.button=Tk.Button(root,text="1",command = lambda: flashColour(root.label, 0))
root.button.pack()
#root.button.place(x=10,y=40)  # you should use either `pack` or `place` but not both
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...