1
編輯:我修正了這篇文章所關注的錯誤等,現在我嘗試了一種不同的方式來實現我最初使用的高級功能。這次我有一個顯示屏和一個顯示功能。按鈕通過將文本插入到所述顯示器中來調用更新功能。我想知道如何使用此功能,也許textvariable =
,這樣我就可以將按鈕的文本從1,2,3,4 ... 9,0改爲A,B,C,D ... I, J.我的代碼如下,任何幫助將不勝感激。 :)高級計算器功能Tkinter的GUI和可變的錯誤
from tkinter import *
import time
root = Tk()
root.title('Calculator')
displayb = Entry(root)
displayb.grid(row = 1, columnspan = 6)
mode = 0
i = 0
'''def update():
global mode
if mode == 0:
mode = 1
else:
mode = 0
return'''
def display(e):
global i
displayb.insert(i,e)
i += 1
txt1 = StringVar()
a = '1' if mode == 0 else 'A'
one = Button(root, text = '1', command = lambda : display(1))
txt1.set(a)
one.grid(row = 2, column = 0)
two = Button(root, text = '2', command = lambda : display(2))
two.grid(row = 2, column = 1)
three = Button(root, text = '3', command = lambda : display(3))
three.grid(row = 2, column = 2)
four = Button(root, text = '4', command = lambda : display(4))
four.grid(row = 3, column = 0)
five = Button(root, text = '5', command = lambda : display(5))
five.grid(row = 3, column = 1)
six = Button(root, text = '6', command = lambda : display(6))
six.grid(row = 3, column = 2)
seven = Button(root, text = '7', command = lambda : display(7))
seven.grid(row = 4, column = 0)
eight = Button(root, text = '8', command = lambda : display(8))
eight.grid(row = 4, column = 1)
nine = Button(root, text = '9', command = lambda : display(9))
nine.grid(row = 4, column = 2)
zero = Button(root, text = '0', command = lambda : display(0))
zero.grid(row = 5, column = 1)
'''shift = Button(root, text = 'sft', command = lambda : mode = 1 if mode == 0 else 0)
shift.grid(row = 2, column = 1)'''
root.mainloop()
非常感謝您的回答!我會再試一次非常感謝! –