本文实例为大家分享了python tkinter实现简单计算器的具体代码,供大家参考,具体内容如下
效果图
直接上代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
|
import tkinter as tk input_num_ls = [] first_num = None calculator_method = None def get_num(ls): new_ls = [ 10 * * i * float (num) for i, num in enumerate (ls)] ls_sum = sum (new_ls) if int (ls_sum) = = ls_sum: return int (ls_sum) else : return ls_sum def append_num(num): global input_num_ls if len (num) < 10 : input_num_ls.append(num) else : input_num_ls.append(num[: 10 ]) current_value. set (get_num(input_num_ls)) print (input_num_ls) def append_calculator(method): global input_num_ls, first_num, calculator_method calculator_method = method first_num = get_num(input_num_ls) input_num_ls = [] print ( 'method' , calculator_method) def calculator_result(): global first_num, input_num_ls, calculator_method second_num = get_num(input_num_ls) input_num_ls.clear() if calculator_method = = '+' : current_value. set (second_num + first_num) input_num_ls.append( str (second_num + first_num)) elif calculator_method = = '-' : current_value. set (first_num - second_num) input_num_ls.append( str (first_num - second_num)) elif calculator_method = = '*' : current_value. set (first_num * second_num) input_num_ls.append( str (second_num * first_num)) elif calculator_method = = '/' : current_value. set (first_num / second_num) input_num_ls.append( str (first_num / second_num)) print (first_num, second_num, calculator_method) def clear(): global first_num, input_num_ls, calculator_method first_num = None input_num_ls = [] calculator_method = None current_value. set ( 0 ) def func(): pass # 主体窗口 window = tk.Tk() # 设置窗口 标题 window.title( '简易计算器' ) # 设置窗口 宽高 window.geometry( '400x300' ) # 添加user显示屏幕背景 screen_area = tk.Frame(width = '400' , height = '100' , bg = '#ddd' ) # 放置到window中 screen_area.pack() # 示例设置显示的数据类 current_value = tk.StringVar() current_value. set ( 0 ) # 数字显示框 # anchor 文本相对于标签中心的位置 默认是center N S W E show_screen_label = tk.Label(screen_area, textvariable = current_value, bg = 'white' , width = '400' , height = '2' , font = { '黑体' , 40 , 'bold' }, anchor = 'e' ) show_screen_label.pack(padx = 10 , pady = 6 ) # 按键区域 button_area = tk.Frame(width = '300' , height = '300' , bg = '#ccc' ) button_area.pack(padx = 10 , pady = 5 ) # 添加button tk.Button(button_area, text = 'C' , width = '5' , height = '1' , command = lambda : clear()).grid(row = '1' , column = '0' ) tk.Button(button_area, text = '+' , width = '5' , height = '1' , command = lambda : append_calculator( '+' )).grid(row = '1' , column = '1' ) tk.Button(button_area, text = '-' , width = '5' , height = '1' , command = lambda : append_calculator( '-' )).grid(row = '1' , column = '2' ) tk.Button(button_area, text = '*' , width = '5' , height = '1' , command = lambda : append_calculator( '*' )).grid(row = '1' , column = '3' ) tk.Button(button_area, text = '7' , width = '5' , height = '1' , command = lambda : append_num( '7' )).grid(row = '2' , column = '0' ) tk.Button(button_area, text = '8' , width = '5' , height = '1' , command = lambda : append_num( '8' )).grid(row = '2' , column = '1' ) tk.Button(button_area, text = '9' , width = '5' , height = '1' , command = lambda : append_num( '9' )).grid(row = '2' , column = '2' ) tk.Button(button_area, text = '/' , width = '5' , height = '1' , command = lambda : append_calculator( '/' )).grid(row = '2' , column = '3' ) tk.Button(button_area, text = '4' , width = '5' , height = '1' , command = lambda : append_num( '4' )).grid(row = '3' , column = '0' ) tk.Button(button_area, text = '5' , width = '5' , height = '1' , command = lambda : append_num( '5' )).grid(row = '3' , column = '1' ) tk.Button(button_area, text = '6' , width = '5' , height = '1' , command = lambda : append_num( '6' )).grid(row = '3' , column = '2' ) tk.Button(button_area, text = '=' , width = '5' , height = '1' , command = lambda : calculator_result()).grid(row = '3' , column = '3' ) tk.Button(button_area, text = '1' , width = '5' , height = '1' , command = lambda : append_num( '1' )).grid(row = '4' , column = '0' ) tk.Button(button_area, text = '2' , width = '5' , height = '1' , command = lambda : append_num( '2' )).grid(row = '4' , column = '1' ) tk.Button(button_area, text = '3' , width = '5' , height = '1' , command = lambda : append_num( '3' )).grid(row = '4' , column = '2' ) tk.Button(button_area, text = 'C' , width = '5' , height = '1' , command = lambda : clear()).grid(row = '4' , column = '3' ) window.mainloop() |
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/MrNoboday/article/details/90720553