from tkinter import *
master = tk()
master.title('第一代計算器')
frame = frame(master)
frame.pack(padx=10, pady=10)
v1 = stringvar()
v2 = stringvar()
v3 = stringvar()
def test(content):
return content.isdigit()
testcmd = master.register(test)
###昨天除錯執行出現了'nonetype『這個錯誤,經過檢視文件以及網上搜尋發現原來,.grid以及.pack返回結果都是none所以下面e1以及e2這些在賦值不能帶上.grid否則在commond中函式呼叫會報錯
e1 = entry(frame, textvariable=v1, validate="key",\
validatecommand=(testcmd, '%p'))
e1.grid(row=0, column=0)
label(frame,text='+').grid(row=0,column=1)
e2 = entry(frame, textvariable=v2, validate="key",\
validatecommand=(testcmd, '%p'))
e2.grid(row=0, column=2)
label(frame,text='=').grid(row=0,column=3)
e3 = entry(frame, textvariable=v3, state='readonly')
e3.grid(row=0,column=4)
def calc():
result = int(v1.get()) + int(v2.get())
v3.set(str(result))
def clear():
###在e2如果賦值帶上.grid()會報錯以為返回值為none
v1.set("")
v2.set("")
v3.set("")
button(frame,text="計算結果",command=calc).grid(row=1,column=2,pady=5)
button(frame,text="c",command=clear).grid(row=1,column=3,pady=5)
mainloop()
通過這次編寫知道了如何處理錯誤,出現nonetype就應該考慮這個是不是返回值為none
在以後出現的錯誤中不會再慌不知道如何修改錯誤,應該仔細檢視各個函式方法的返回值不是直接上來就用,要不錯誤會滿天飛
SAP增強總結 第一代增強
1 sap增強從用途來說分 a 資料元素增強 b 選單增強 c 螢幕增強 d 功能增強 2 sap增強從實現方式來說分 a 第一代增強 增強嵌入標準程式中 b第二代增強 smod cmod c 第三代增強 badi d 增強 bte 實現某個用途採用何種實現方式,四代增強可能都不是萬能的,具體採用哪...
第一代電子計算機
又稱 電子管計算機 以電子管為主要電路元件的電子計算機。第一台電子管計算機於1946年在美國製成,取名埃尼阿克 eniac 1946 1957年生產的電子計算機都是第一代電子計算機。附 世界上第一台電子計算機是個龐然大物 重30噸,占地150平方公尺,肚子裡裝有18800只電子管。它是1954年,在...
第一代的桌面虛擬化技術
接上篇 上篇文章介紹了桌面虛擬化技術的前身,即0.5代桌面虛擬化,接下來我們看看第一代的桌面虛擬化技術。第一代桌面虛擬化技術 第一代桌面虛擬化技術,真正意義上將遠端桌面的遠端訪問能力與虛擬作業系統結合了起來,使得桌面虛擬化的企業應用也成為可能。首先,伺服器虛擬化技術的成熟,以及伺服器計算能力的增強,...