[英]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.