我是python新手,目前正在学习Tkinter中的循环,并尝试构建pin代码GUI。 我想做的是,当按下back space按钮时,“<;”添加到列表中的最后一项“输入的Pin”将被删除,1个Asterix将从TXT窗口中删除?当我不知道列表中有多少项时,我想知道python中是否有一种特殊的方法来删除添加到列表中的最后一项。 提前谢谢我的代码在下面
import tkinter as tk
window = tk.Tk()
def PinEntry(x):
global u
global counter
if u == 1:
TxtWindow.delete("1.0", "end")
u = u+1
if EntertedPin == DefaultPin:
window.destroy()
if x in range (len(EntryKeyList)):
EntertedPin.append (EntryKeyList [x])
TxtWindow.insert (tk.END, "*")
counter = counter +1
if x == 2:
EntertedPin.clear()
TxtWindow.delete("1.0", "end")
TxtWindow.insert (tk.END, "Enter Pin")
u = 1
coutner = 0
if x == 0:
EntertedPin.clear()
TxtWindow.delete("1.0", "end")
TxtWindow.insert (tk.END, "Enter Pin")
u = 1
counter = 0
if x == 12:
# Delete last number in the list and remove one asterix from the TxtWindow
EntertedPin = []
DefaultPin = [1,2,3,0]
u = 1
counter = -1
TxtWindow = tk.Text(window, relief = "sunken", width = 10, height = 1)
TxtWindow.insert (tk.END, "Enter Pin")
TxtWindow.grid (row = 1, column = 2)
x = 1
y = 1
a = 5
b = 4
c = 1
d = 3
e = 1
f = 2
g = 1
EntryKeyList = ["CLR", 0, "ENT", 1, 2, 3, 4, 5, 6, 7, 8, 9, "<" ]
for i in range (13):
KeypadBtn = tk.Button(window, width = 5, height = 3, text = EntryKeyList[i], command = lambda x=i: PinEntry(x))
if y <=3:
KeypadBtn.grid (row = a , column = x )
x = x +1
y=y +1
elif y <= 6:
KeypadBtn.grid (row = b , column = c )
c = c +1
y=y+1
elif y <= 9:
KeypadBtn.grid (row = d , column = e )
e = e +1
y=y+1
elif y <=12:
KeypadBtn.grid (row = f , column = g )
g = g +1
y=y+1
else:
KeypadBtn.grid (row = 1, column = 3)
window.mainloop()
命令将显示您正在查找的内容
但代码是错误的。退格无法将“x”添加到小部件
相关问题 更多 >
编程相关推荐