Python實(shí)現(xiàn)GUI計(jì)算器(附源碼)
效果
可執(zhí)行正常加減乘除相關(guān)運(yùn)算,源碼已貼,自行測試。

源碼
# coding=gbk
"""
作者:川川
@時(shí)間 : 2022/11/6 3:10
"""
from tkinter import *
calc = Tk()
calc.title('川川計(jì)算器')
operator = ''
def clear():
global operator
operator=''
txt_input.set("")
display.insert(0,'開始計(jì)算...')
def button_press(number_or_operator):
global operator
operator = operator+str(number_or_operator)
txt_input.set(operator)
def equal():
global operator
result = float(eval(operator))
txt_input.set(result)
operator=''
txt_input =StringVar(value='開始計(jì)算...')
#-----------------DISPLAY-----------------------------------
display = Entry(calc,font =('arial',30),fg='white',bg='green'
,justify='right',bd='50',textvariable=txt_input)
display.grid(columnspan=4)
#------------------row 1--------------------------------------
button7 = Button(calc,padx =30,pady =12,bd=8,fg='black',bg='white',
font=('arial',30,'bold'),text='7',command=lambda:button_press(7)).grid(row=1,column=0)
button8 = Button(calc,padx =30,pady =12,bd=8,fg='black',bg='white',
font=('arial',30,'bold'),text='8',command=lambda:button_press(8)).grid(row=1,column=1)
button9 = Button(calc,padx =30,pady =12,bd=8,fg='black',bg='white',
font=('arial',30,'bold'),text='9',command=lambda:button_press(9)).grid(row=1,column=2)
button_clear = Button(calc,padx =30,pady =12,bd=8,fg='black',bg='green',
font=('arial',30,'bold'),text='C',command=clear).grid(row=1,column=3)
#------------------row 2--------------------------------------
button4 = Button(calc,padx =30,pady =12,bd=8,fg='black',bg='white',
font=('arial',30,'bold'),text='4',command=lambda:button_press(4)).grid(row=2,column=0)
button5 = Button(calc,padx =30,pady =12,bd=8,fg='black',bg='white',
font=('arial',30,'bold'),text='5',command=lambda:button_press(5)).grid(row=2,column=1)
button6 = Button(calc,padx =30,pady =12,bd=8,fg='black',bg='white',
font=('arial',30,'bold'),text='6',command=lambda:button_press(6)).grid(row=2,column=2)
button_plus = Button(calc,padx =34,pady =12,bd=8,fg='black',bg='orange',
font=('arial',30,'bold'),text='+',command=lambda:button_press('+')).grid(row=2,column=3)
#------------------row 3--------------------------------------
button1 = Button(calc,padx =30,pady =12,bd=8,fg='black',bg='white',
font=('arial',30,'bold'),text='1',command=lambda:button_press(1)).grid(row=3,column=0)
button2 = Button(calc,padx =30,pady =12,bd=8,fg='black',bg='white',
font=('arial',30,'bold'),text='2',command=lambda:button_press(2)).grid(row=3,column=1)
button3 = Button(calc,padx =30,pady =12,bd=8,fg='black',bg='white',
font=('arial',30,'bold'),text='3',command=lambda:button_press(3)).grid(row=3,column=2)
button_minus = Button(calc,padx =38,pady =12,bd=8,fg='black',bg='orange',
font=('arial',30,'bold'),text='-',command=lambda:button_press('-')).grid(row=3,column=3)
#------------------row 4--------------------------------------
button_0 = Button(calc,padx =30,pady =12,bd=8,fg='black',bg='white',
font=('arial',30,'bold'),text='0',command=lambda:button_press(0)).grid(row=4,column=0)
button_dot = Button(calc,padx =36,pady =12,bd=8,fg='black',bg='white',
font=('arial',30,'bold'),text='.',command=lambda:button_press('.')).grid(row=4,column=1)
button_divide = Button(calc,padx =36,pady =12,bd=8,fg='black',bg='orange',
font=('arial',30,'bold'),text='/',command=lambda:button_press('/')).grid(row=4,column=2)
button_mult = Button(calc,padx =38,pady =12,bd=8,fg='black',bg='orange',
font=('arial',30,'bold'),text='*',command=lambda:button_press('*')).grid(row=4,column=3)
#------------------row 5--------------------------------------
button_equal = Button(calc,padx =95,pady =12,bd=8,fg='black',bg='green',
font=('arial',30,'bold'),text='=',command=equal).grid(row=5,column=0,columnspan=2)
button_open = Button(calc,padx =35,pady =12,bd=8,fg='black',bg='white',
font=('arial',30,'bold'),text='(',command=lambda:button_press('(')).grid(row=5,column=2)
button_close = Button(calc,padx =38,pady =12,bd=8,fg='black',bg='white',
font=('arial',30,'bold'),text=')',command=lambda:button_press(')')).grid(row=5,column=3)
calc.mainloop()
到此這篇關(guān)于Python實(shí)現(xiàn)GUI計(jì)算器(附源碼)的文章就介紹到這了,更多相關(guān)Python GUI計(jì)算器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
在python image 中安裝中文字體的實(shí)現(xiàn)方法
今天小編大家分享一篇在python image 中安裝中文字體的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08
Python使用cn2an實(shí)現(xiàn)中文數(shù)字與阿拉伯?dāng)?shù)字的相互轉(zhuǎn)換
這篇文章主要介紹了Python使用cn2an實(shí)現(xiàn)中文數(shù)字與阿拉伯?dāng)?shù)字的相互轉(zhuǎn)換,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03
pyinstaller參數(shù)介紹以及總結(jié)詳解
這篇文章主要介紹了pyinstaller參數(shù)介紹以及總結(jié)詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
python基于scrapy爬取京東筆記本電腦數(shù)據(jù)并進(jìn)行簡單處理和分析
這篇文章主要介紹了python基于scrapy爬取京東筆記本電腦數(shù)據(jù)并進(jìn)行簡單處理和分析的實(shí)例,幫助大家更好的理解和學(xué)習(xí)使用python。感興趣的朋友可以了解下2021-04-04
淺談pandas中DataFrame關(guān)于顯示值省略的解決方法
下面小編就為大家分享一篇淺談pandas中DataFrame關(guān)于顯示值省略的解決方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04

