#python #tkinter
#python #tkinter
Вопрос:
я написал некоторый код, который выводит вывод на экран, и он может делать это несколько раз проблема в том, что я, похоже, не могу получить текст, прежде чем очистить его, прежде чем писать над ним, так что это выглядит немного ужасно я пытался использовать
tk.delete(0, END)
но это ничего не помогло, поэтому я не уверен, что делать, вот код, если вы хотите посмотреть :
entry1 = tk.Entry(root)
canvas1.create_window(200, 140, window=entry1)
def encrypt ():
x1 = entry1.get()
try :
val = int(x1)
except ValueError :
label4 = tk.Label(root, text= encryption.encryption(x1) , font=('helvetica', 10, 'bold'))
canvas1.create_window(200, 250, window=label4)
else :
label4 = tk.Label(root, text= encryption.decryption(int(x1)) , font=('helvetica', 10, 'bold'))
canvas1.create_window(200, 250, window=label4)
label3 = tk.Label(root, text= 'The new encrypted message is : ',font=('helvetica', 10))
canvas1.create_window(200, 210, window=label3)
button1 = tk.Button(text='Encrypt data', command=encrypt , bg='brown', fg='white', font=('helvetica', 9, 'bold'))
canvas1.create_window(200, 180, window=button1)
мне нужно, чтобы он записывал поверх выходной метки, которая, кстати, является label4.
Комментарии:
1. Создайте label4 снаружи
encrypt()
и обновите его текст внутри этой функции
Ответ №1:
У меток нет метода удаления, вы просто меняете текст.
label4['text'] = ""
Или
label4.config(text="")
Комментарии:
1. label4 — это
Label
виджет, которого нетdelete()
.2. @acw1668 Ты прав! Это метка, а не запись.
Ответ №2:
Лучше создать label3
и label4
внешнюю encrypt()
функцию:
label3 = tk.Label(root, text='The new encrypted message is:', font=('helvetica', 10))
canvas1.create_window(200, 210, window=label3, state='hidden', tag='result') # initially hidden
label4 = tk.Label(root, font=('helvetica', 10, 'bold'))
canvas1.create_window(200, 250, window=label4, state='hidden', tag='result') # initially hidden
Затем обновите label4
и сделайте label3
label4
видимым внутри encrypt()
:
def encrypt():
x1 = entry1.get()
try:
val = int(x1)
except ValueError:
label4.config(text=encryption.encryption(x1))
else:
label4.config(text=encryption.decryption(val))
# make label3 and label4 visible
canvas1.itemconfig('result', state='normal')