实现完整功能的传统计算器源码,补充首次发的简易计算器:
#扶桑主人
import PySimpleGUI as fs
def button(text):
return fs.Button(text,pad=(2,2),size=(4,2),font=("黑体",18),button_color="black")
layout=[
[fs.T("",key="-SHOW-")],
[fs.In("",size=(28,3),font=("黑体",28),key="-INPUT-")],
[button(i) for i in ["AC","(",")","%"]],
[button(i) for i in "123+"],
[button(i) for i in "456-"],
[button(i) for i in "789X"],
[button(i) for i in "0.=/"]
]
window=fs.Window("扶桑主人计算器",layout)
while True:
event,values=window.read()
print(event)
if event==None:
break
if event in list("12345678+-()."):
window["-INPUT-"].update(values["-INPUT-"]+event)
window["-SHOW-"].update("")
if event=="X":
window["-INPUT-"].update(values["-INPUT-"]+"*")
window["-SHOW-"].update("")
if event=="/":
window["-INPUT-"].update(values["-INPUT-"]+"/")
window["-SHOW-"].update("")
if event=="%":
try:
window["-INPUT-"].update(values["-INPUT-"]+"/100")
window["-SHOW-"].update("")
except:
window["-INPUT-"].update("")
window["-SHOW-"].update("输入有误!")
if event=="=":
try:
window["-INPUT-"].update(eval(values["-INPUT-"]))
window["-SHOW-"].update("")
except:
window["-INPUT-"].update("")
window["-SHOW-"].update("输入有误!")
if event=="AC":
window["-INPUT-"].update("")
window["-SHOW-"].update("")
window.close()
运行示例如下: