- 推荐自己的专栏:分享一些Python案例,将所学用出来
一:计算器界面
使用tkinter实现一个支持四则运算的简易图形用户界面计算器
界面和功能
筒易图形用户界面计算器的界面设计如图所示
- 第一行显示输入的运算表达式;
- 第二行显示当前输入的操作数或运算结果;
- 第三行到第七行为计算器按钮。
二:计算器设计思路
思维和设计方法
-
创建一个继承于Frame的类Calc来实现计算器。
-
实现界面。在Calc构造函数,创建简易图形用户界面计算器的各个组件对象。
- 构造函数中,
创建两个Label对象:exprLabel (用于显示运算表达式)、resultLabel (用于显示当前输入操作数或者运算结果)。
创建两个StringVar实例对象expr和result,并分别绑定到对应得Label对象。使用grid布局,在第一行和第二行显示两个Label对象。
# 显示运算表达式
self.expr = tk.StringVar()
self.expr.set('')
self.exprLabel = tk.Label(self, font = ('Helvetica', 20),
fg = '#f40', width = 42, anchor='w', textvariable = self.expr)
self.exprLabel.grid(row = 0, column = 0, columnspan = 4)
# 显示结果
self.result = tk.StringVar()
self.result.set(0)
self.resultLabel = tk.Label(self, font = ('Helvetica', 20),
width = 42, anchor='e', textvariable=self.result)
self.resultLabel.grid(row = 1, column = 0, columnspan = 4)
- 使用一个二维列表存储按钮标签,
然后使用嵌套循环的方法创建和布局各个按钮。在循环中定义事件处理函数cmd().默认参数为按钮标签buttons[r][c]),调用实例方法click(key),从而实现使用一一个函数(使用默认参数)处理所有的按钮事件。
buttons = [[ 'CE', 'C', '←', '/'],
['7', '8', '9', '×']