[英]how erase the last character of one widget/text in tkinter
我有一個計算器,我們可以在屏幕上觀看已經寫的數字,但我想插入一個按鈕來擦除一個字符(最后一個)並且不能,只能擦除第一個字符
這是代碼
def DEL(self,):
self.pantalla.configure(state="normal")
self.operacion = self.operacion[:-1]
self.pantalla.delete("")
self.pantalla.configure(state="disabled")
pd self.pantalla 是文本,self.operacion 是計算變量,謝謝...
如果您使用tk.Entry()
那么您可能需要
entry.delete( len(entry.get())-1 )
如果您使用tk.Text()
那么您可能需要
text.delete('end-2c', 'end')
如果您使用tk.StringVar()
那么您可能需要
string_var.set( string_var.get()[:-1] )
最小的工作代碼:
import tkinter as tk
# --- functions ---
def on_click():
print('Entry:', entry.get())
entry.delete(len(entry.get())-1)
print('StringVar:', string_var.get())
string_var.set( string_var.get()[:-1] )
print('Text:', text.get('0.0', 'end'))
text.delete('end-2c', 'end')
# --- main ---
root = tk.Tk()
entry = tk.Entry(root)
entry.pack()
string_var = tk.StringVar(root)
entry_var = tk.Entry(root, textvar=string_var)
entry_var.pack()
text = tk.Text(root)
text.pack()
button = tk.Button(root, text='DELETE', command=on_click)
button.pack()
root.mainloop()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.