資源簡介
巧妙運用python的tkinter庫搭建的一個加減乘除計算器,運算只能在第一行實現,第二行為計算結果

代碼片段和文件信息
from?tkinter?import?*
from?tkinter?import?ttk
import?base64
from?qq?import?img
import?os
#?將圖標icon文件轉化成編碼形式
#?open_icon?=?open(‘icon.ico‘‘rb‘)
#?b64str?=?base64.b64encode(open_icon.read())
#?open_icon.close()
#?write_data?=?“img?=?‘%s‘“?%?b64str.decode()
#?f=open(“icon.py““w+“)
#?f.write(write_data)
#?f.close()
calculator?=?Tk()
#?將圖標顯示出來
#?tmp?=?open(‘tmp.ico‘‘wb+‘)
#?tmp.write(base64.b64decode(img))
#?tmp.close()
#?calculator.iconbitmap(‘16.ico‘)
#?os.remove(“tmp.ico“)
calculator.title(‘簡易計算器1.0.1‘)
calculator.geometry(‘380x292+500+250‘)
#?限制邊框不能變
calculator.resizable(False?False)
#?顯示框樣式
show?=?ttk.frame(calculator?padding=“0?0?12?0“)
show.grid(column=0?row=0?columnspan=2)
#?第一行按鈕樣式
first?=?ttk.frame(calculator?padding=“0?0?3?0“)
first.grid(column=0?row=1?sticky=(N?W?E?S))
#?第二行按鈕樣式
second?=?ttk.frame(calculator?padding=“0?0?3?0“)
second.grid(column=0?row=2?sticky=(N?W?E?S))
#?第三行按鈕樣式
third?=?ttk.frame(calculator?padding=“0?0?3?0“)
third.grid(column=0?row=3?sticky=(N?W?E?S))
#?第四行按鈕樣式
fourth?=?ttk.frame(calculator?padding=“0?0?3?0“)
fourth.grid(column=0?row=4?sticky=(N?W?E?S))
#?等于號的樣式
equ?=?ttk.frame(calculator?padding=“0?10?12?0“)
equ.grid(column=1?row=2?rowspan=3?sticky=(N?W?E?S))
#?清除的樣式
clear?=?ttk.frame(calculator?padding=“0?0?12?0“)
clear.grid(column=1?row=1?sticky=(N?W?E?S))
#?運算符及點
operator?=?[‘+‘?‘-‘?‘*‘?‘/‘?‘.‘]
#?實現計算器功能部分
#?數字部分
def?one():
????text.insert(‘end‘?‘1‘)
def?two():
????text.insert(‘end‘?‘2‘)
def?three():
????text.insert(‘end‘?‘3‘)
def?four():
????text.insert(‘end‘?‘4‘)
def?five():
????text.insert(‘end‘?‘5‘)
def?six():
????text.insert(‘end‘?‘6‘)
def?seven():
????text.insert(‘end‘?‘7‘)
def?eight():
????text.insert(‘end‘?‘8‘)
def?nine():
????text.insert(‘end‘?‘9‘)
def?zero():
????text.insert(‘end‘?‘0‘)
#?加
def?Add():
????#?text.insert(‘end‘?‘+‘)
????i?=?str(text.get(1.0?END)[-2])
????if?i?in?operator:
????????pass
????else:
????????text.insert(‘end‘?‘+‘)
#?減
def?Sup():
????i?=?str(text.get(1.0?END)[-2])
????if?i?in?operator:
????????pass
????else:
????????text.insert(‘end‘?‘-‘)
#?乘
def?Mult():
????i?=?str(text.get(1.0?END)[-2])
????if?i?in?operator:
????????pass
????else:
????????text.insert(‘end‘?‘*‘)
#?除
def?Div():
????i?=?str(text.get(1.0?END)[-2])
????if?i?in?operator:
????????pass
????else:
????????text.insert(‘end‘?‘/‘)
#?清除鍵的執行函數
def?clear_all():
????text.delete(0.0?END)
#?刪除鍵的執行函數
def?del_one():
????#?a=str(text.get(1.0END))
????#?print(a[-2])
????text.delete((1.0?‘2.0‘)[-2])
def?point():
????i?=?str(text.get(1.0?END)[-2])
????if?i?in?operator:
????????pass
????else:
????????text.insert(‘end‘?‘.‘)
????????
#?等號利用eval函數直接計算
def?count():
????result?=?str(eval(text.get(1.0?END)))
????text.insert(‘end‘?‘\n‘?+?result)
#?計算器顯示部分
text?=?Text(show?heig
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????8946856??2018-05-24?09:17??calculator1.0.1.exe
?????文件????????5346??2018-06-04?14:47??calculator.py
評論
共有 條評論