用Python的Tkinter做一个既高颜值又好用的计算器
建议学过Python几年的来学习,初学者可能听不懂
tkinter是一个用于弹窗的模块,相对较难,是比较权威的,想对我以前说的ybc_box来讲比较高级,但是缺点也很明显,就是不易上手!
这次也是需要用到ybc_box的喲!(呦)
秘籍宝典又来了:
- win + R + Enter
- pip install 模块名(这次是ybc_box和tkinter)
- Enter,等待结果
这次分为两个代码文件
附上代码喽!
comp_main.py 一定要命名为这个!
import tkinter
import tkinter.font
class Calculator(object):
def __init__(self):
self.root = tkinter.Tk()
self.all_press_lists = [] # 保存运算数字和符号的列表
self.is_press_compute = False # 判断是否按下运算按钮,默认没有按下
self.result = tkinter.StringVar() # 显示输入的数字及结果
self.record = tkinter.StringVar() # 显示计算过程
def main(self, input_bg, num_fg, btn_fg, btn_bg, is_fg, fh_fg, is_bg):
self.root.minsize(300, 550) # 显示框的最小长宽
self.root.title('计算器') # 标题
btn_w, btn_h = 75, 70 # 按钮的长宽
my_font = tkinter.font.Font(family='微软雅黑', size=20) # 设置字体
self.result.set(0)
self.record.set('')
# 显示版
label = tkinter.Label(self.root, font=tkinter.font.Font(family='微软雅黑', size=20), bg=input_bg, bd='9', fg=num_fg, anchor='se',
textvariable=self.record)
label.place(width=300, height=120)
label2 = tkinter.Label(self.root, font=tkinter.font.Font(family='微软雅黑', size=30), bg=input_bg, bd='9', fg=num_fg, anchor='se',
textvariable=self.result)
label2.place(y=120, width=300, height=80)
# 第一行
btn_ac = tkinter.Button(self.root, text='C', font=tkinter.font.Font(family='微软雅黑', size=15), bg=btn_bg, fg=fh_fg, bd=0,
command=lambda: self.press_compute('AC'))
btn_ac.place(x=btn_w * 0, y=200 + btn_h * 0, width=btn_w, height=btn_h)
btn_back = tkinter.Button(self.root, text='Del', font=tkinter.font.Font(family='微软雅黑', size=15), bg=btn_bg, fg=fh_fg, bd=0,
command=lambda: self.press_compute('b'))
btn_back.place(x=btn_w * 3, y&