gpt4 book ai didi

Python Tkinter实现简易计算器功能

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章Python Tkinter实现简易计算器功能由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

闲暇时间用tkinter写了个简易计算器,可实现简单的加减乘除运算,用了Button和Entry2个控件,下面是代码,只是简单的用了偏函数partial,因为那么多button的大部分参数都是一样的,使用偏函数可以简化参数传递,避免同样的参数传递写N次.

?
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
# -*- coding: utf-8 -*-
#author: Cullen
 
#import the module
from Tkinter import *
import tkFont
import os
from functools import partial
from PIL import Image, ImageTk
 
def get_input(entry, argu):
   entry.insert(END, argu)
 
def backspace(entry):
   input_len = len (entry.get())
   entry.delete(input_len - 1 )
 
def clear(entry):
   entry.delete( 0 , END)
 
def calc(entry):
   input = entry.get()
   output = str ( eval ( input .strip()))
   clear(entry)
   entry.insert(END, output)
 
def cal():
   root = Tk()
   root.title( "Calc" )
   root.resizable( 0 , 0 )
 
   entry_font = tkFont.Font(size = 12 )
   entry = Entry(root, justify = "right" , font = entry_font)
   entry.grid(row = 0 , column = 0 , columnspan = 4 , sticky = N + W + S + E, padx = 5 , pady = 5 )
 
   button_font = tkFont.Font(size = 10 , weight = tkFont.BOLD)
   button_bg = '#D5E0EE'
   button_active_bg = '#E5E35B'
 
   myButton = partial(Button, root, bg = button_bg, padx = 10 , pady = 3 , activebackground = button_active_bg)
 
   button7 = myButton(text = '7' , command = lambda : get_input(entry, '7' ))
   button7.grid(row = 1 , column = 0 , pady = 5 )
 
   button8 = myButton(text = '8' , command = lambda : get_input(entry, '8' ))
   button8.grid(row = 1 , column = 1 , pady = 5 )
 
   button9 = myButton(text = '9' , command = lambda : get_input(entry, '9' ))
   button9.grid(row = 1 , column = 2 , pady = 5 )
 
   button10 = myButton(text = '+' , command = lambda : get_input(entry, '+' ))
   button10.grid(row = 1 , column = 3 , pady = 5 )
 
   button4 = myButton(text = '4' , command = lambda : get_input(entry, '4' ))
   button4.grid(row = 2 , column = 0 , pady = 5 )
 
   button5 = myButton(text = '5' , command = lambda : get_input(entry, '5' ))
   button5.grid(row = 2 , column = 1 , pady = 5 )
 
   button6 = myButton(text = '6' , command = lambda : get_input(entry, '6' ))
   button6.grid(row = 2 , column = 2 , pady = 5 )
 
   button11 = myButton(text = '-' , command = lambda : get_input(entry, '-' ))
   button11.grid(row = 2 , column = 3 , pady = 5 )
 
   button1 = myButton(text = '1' , command = lambda : get_input(entry, '1' ))
   button1.grid(row = 3 , column = 0 , pady = 5 )
 
   button2 = myButton(text = '2' , command = lambda : get_input(entry, '2' ))
   button2.grid(row = 3 , column = 1 , pady = 5 )
 
   button3 = myButton(text = '3' , command = lambda : get_input(entry, '3' ))
   button3.grid(row = 3 , column = 2 , pady = 5 )
 
   button12 = myButton(text = '*' , command = lambda : get_input(entry, '*' ))
   button12.grid(row = 3 , column = 3 , pady = 5 )
 
   button0 = myButton(text = '0' , command = lambda : get_input(entry, '0' ))
   button0.grid(row = 4 , column = 0 , columnspan = 2 , padx = 3 , pady = 5 , sticky = N + S + E + W)
 
   button13 = myButton(text = '.' , command = lambda : get_input(entry, '.' ))
   button13.grid(row = 4 , column = 2 , pady = 5 )
 
   button14 = Button(root, text = '/' , bg = button_bg, padx = 10 , pady = 3 ,
            command = lambda : get_input(entry, '/' ))
   button14.grid(row = 4 , column = 3 , pady = 5 )
 
   button15 = Button(root, text = '<-' , bg = button_bg, padx = 10 , pady = 3 ,
            command = lambda : backspace(entry), activebackground = button_active_bg)
   button15.grid(row = 5 , column = 0 , pady = 5 )
 
   button16 = Button(root, text = 'C' , bg = button_bg, padx = 10 , pady = 3 ,
            command = lambda : clear(entry), activebackground = button_active_bg)
   button16.grid(row = 5 , column = 1 , pady = 5 )
 
   button17 = Button(root, text = '=' , bg = button_bg, padx = 10 , pady = 3 ,
            command = lambda : calc(entry), activebackground = button_active_bg)
   button17.grid(row = 5 , column = 2 , columnspan = 2 , padx = 3 , pady = 5 , sticky = N + S + E + W)
 
   root.mainloop()
 
if __name__ = = '__main__' :
   cal()

下面是运行结果:

Python Tkinter实现简易计算器功能

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我.

原文链接:http://blog.csdn.net/wangyiyan315/article/details/19435081 。

最后此篇关于Python Tkinter实现简易计算器功能的文章就讲到这里了,如果你想了解更多关于Python Tkinter实现简易计算器功能的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com