实现一个俩位整数加法计算器
from tkinter import *
from tkinter import messagebox
class Appcalition(Frame):
def __init__(self, master=None):
super().__init__(master)
self.master = master
self.pack()
self.createwidghtml()
def createwidghtml(self):
"""创建计算器界面的组件"""
self.labal01 = Label(self, text='第一个数')
self.labal01.pack()
self.v1 = StringVar()
self.entry01 = Entry(self, textvariable=self.v1)
self.entry01.pack()
self.labal02 = Label(self, text='第二个数')
self.labal02.pack()
self.v2 = StringVar()
self.entry02 = Entry(self, textvariable=self.v2)
self.entry02.pack()
self.labal03 = Label(self, text='结果')
self.labal03.pack()
self.v3 = StringVar()
self.entry03 = Entry(self, textvariable=self.v3, state="readonly") # 结果只读
self.entry03.pack()
Button(self,text="计算",command=self.count).pack(side="left", padx=10, pady=10) # 设置按钮布局 padx pady 在x,y方向的外边距
Button(self,text="重置",command=self.reset).pack(side="left", padx=10, pady=10)
Button(self,text="关闭",command=self.close).pack(side="left", padx=10, pady=10)
def count(self):
try:
v1 = int(self.entry01.get())
v2 = int(self.entry02.get())
if v1 >= -99 and v1 <= 99:
if v2 >= -99 and v2 <= 99:
self.v3.set(v1+v2)
else:
messagebox.showinfo('提示','输入的数字不符合要求')
else:
messagebox.showinfo('提示','输入的数字不符合要求')
except:
messagebox.showinfo('提示', '请输入一个整数')
def reset(self):
self.v1.set('')
self.v2.set('')
self.v3.set('')
def close(self):
self.quit()
if __name__ == "__main__":
root = Tk()
root.title('俩位整数加法计算器')
root.geometry('300x200+200+200')
Appcalition(master=root)
root.mainloop()
感想:在设计之前你要思考你要做什么,然后就是如何去做,不要一看到就直接敲代码,要学会思考分析需求
需求:
-99到99的整数相加
分析:
-99到99中的整数正常运算,大于99或者小于-99的提示输入的数字不符合要求
如果输入的是字符串或者浮点类型,我们要怎么去判断,验证不通过则提示输入的不合法
思路一:使用tkinter自带的验证体系
思路二:使用自己的逻辑代码去验证
ps:分享一些自己的学习历经,希望对大家有帮助