boren -学习制作博仁牌计算器

import tkinter as tk


mywindow = tk.Tk()
mywindow.title("博仁牌计算器")
mywindow.geometry("280x500")
label1 = tk.Label(
    mywindow,
    font=(None, 20),
    bg="#7FFFAA",
    fg="#000000",
    bd=9,
    anchor='se',  # 船锚       north 北   west 西 east东  south南
    text='计算结果'
)
label1.place(x=0, y=0, width=280, height=170)

label2 = tk.Label(
    mywindow,
    font=(None, 30),
    bg="#48D1CC",
    fg="#000000",
    bd=9,
    anchor="se",
    text="计算公式"

)
label2.place(x=0, y=170, width=280, height=60)

gong_shi = ""
def press(text):
    global gong_shi
    gong_shi = gong_shi+text
    label2['text'] = gong_shi

def dengyu():
    # 全局变量express
    global gong_shi
    # 修改label1标签
    label1["text"]=eval(gong_shi)

def btn(text, x, y, h=55,w=70):
    btn7 = tk.Button(
        mywindow,
        text=text,
        font=(None, 20),
        fg= '#00008B',
        bd=0.5,
        command = lambda:press(text)
    )
    btn7.place(x=x ,y=y ,width=w ,height=h)

def qingchu():
    # 全局变量公式
    global gong_shi
    gong_shi=""
    # 公式改成空字符串
    label2["text"] = ""

# btn("AC" ,0 ,230)
btnAC = tk.Button(
    mywindow,
    text='AC',
    font=(None, 20),
    fg='#00008B',
    bd=0.5,
    command=qingchu
)
btnAC.place(x=0, y=230, width=70, height=55)


# btn("DEL" ,70 ,230)
def tuiwei():
    global gong_shi
    gong_shi = gong_shi[0:len(gong_shi) - 1]
    label2['text'] = gong_shi
btnDEL = tk.Button(
    mywindow,
    text='DEL',
    font=(None, 20),
    fg='#00008B',
    bd=0.5,
    command=tuiwei
)
btnDEL.place(x=70, y=230, width=70, height=55)





btn("/" ,140 ,230)
btn("*" ,210 ,230)

# 第二排
btn('7' ,0 ,285)
btn('8',70 ,285)
btn('9' ,140 ,285)
btn('-' ,210 ,285)

# 第三排
btn('4' ,0 ,340)
btn('5' ,70 ,340)
btn('6' ,140 ,340)
btn('+' ,210 ,340)

# 第四排
btnDeng = tk.Button(
    mywindow,
    text='=',
    font=(None, 20),
    fg='#00008B',
    bd=0.5,
    command=dengyu
)
btnDeng.place(x=210, y=395, width=70, height=110)


btn('1' ,0 ,395)
btn('2' ,70 ,395)
btn('3',140 ,395)
#第五排
btn("%",0 ,450,w=35)
btn(".",35 ,450,w=35)
btn('0' ,70 ,450)
btn("(",140 ,450,w=35)
btn(")",175 ,450,w=35)
mywindow.mainloop()

发布了254 篇原创文章 · 获赞 16 · 访问量 9511

猜你喜欢

转载自blog.csdn.net/houlaos/article/details/103952196