Tkinter показывает метку после вызова функции, когда метка должна быть

Tkiner отображает метку после функции обратного вызова. но я показываю метку вверху.

def records():
    lbl = tk.Label(recordWindow, text="recording")
    lbl.grid()
    Audio1()
 
btn = tk.Button(recordWindow, text="click to record",command=records)
btn.grid()

в этом вызове функции Audio1 и отобразите метку. Мне нужно отобразить метку и вызвать функцию.

Мне нужно отобразить "запись" и запустить функцию audio1(). но произошло то, что после запуска функции audio1() отображается метка "запись"

1 ответ

Решение

Я не уверен, что полностью понимаю проблему, но вот вам попытка решить эту проблему. Я добавил параметры строки и столбца в метод grid(), чтобы lblне наверху. Я не уверен, какой ярлык вы хотите, чтобы отображалась функция Audio1. Возможно, вы хотите, чтобы он включался и выключался при фунте.

def Audio1():
    global lbl
    if lbl.winfo_ismapped():
        lbl.grid_forget()
    else:
        lbl.grid()
    root.after(1000, Audio1)  # assumes your window is named root

def records():
    global lbl
    lbl.grid(row=1, column=0)
    Audio1()

lbl = tk.Label(recordWindow, text="recording") 
btn = tk.Button(recordWindow, text="click to record",command=records)
btn.grid(row=0, column=0)
Другие вопросы по тегам