python中使用tkinter制作简单的计算器

简介: python中使用tkinter制作简单的计算器

代码:

#coding:utf-8

import  tkinter as tk

# 新建一个主窗口

root = tk.Tk()

# 设置窗口的大小

root.geometry('480x300+100+100')

# 设置窗口的标题

root.title("计算器")

# 定义一个可变字符变量

result_str= tk.StringVar()

result_str.set('')

label = tk.Label(root,textvariable=result_str,font=('宋体',20),width=32,padx=5, pady=5,anchor='e')

label.grid(row=1,column=1,columnspan=4)

font_number = ('宋体',18)

btn_m = tk.Button(root,text='%',font=font_number,width=8,padx=5,pady=5)

btn_CE = tk.Button(root,text='CE',font=font_number,width=8,padx=5,pady=5)

btn_clear = tk.Button(root,text='C',font=font_number,width=8,padx=5,pady=5)

btn_div = tk.Button(root,text='/',font=font_number,width=8,padx=5,pady=5)

btn_m.grid(row=2,column=1)

btn_CE.grid(row=2,column=2)

btn_clear.grid(row=2,column=3)

btn_div.grid(row=2,column=4)

font_number = ('宋体',18)

btn_seven = tk.Button(root,text='7',font=font_number,bg='#F0CBDB',width=8,padx=5,pady=5)

btn_eight = tk.Button(root,text='8',font=font_number,bg='#F0CBDB',width=8,padx=5,pady=5)

btn_nine = tk.Button(root,text='9',font=font_number,bg='#F0CBDB',width=8,padx=5,pady=5)

btn_multi = tk.Button(root,text='x',font=font_number,width=8,padx=5,pady=5)

btn_seven.grid(row=3,column=1)

btn_eight.grid(row=3,column=2)

btn_nine.grid(row=3,column=3)

btn_multi.grid(row=3,column=4)

btn_four = tk.Button(root,text='4',font=font_number,bg='#F0CBDB',width=8,padx=5,pady=5)

btn_five = tk.Button(root,text='5',font=font_number,bg='#F0CBDB',width=8,padx=5,pady=5)

btn_six = tk.Button(root,text='6',font=font_number,bg='#F0CBDB',width=8,padx=5,pady=5)

btn_sub = tk.Button(root,text='-',font=font_number,width=8,padx=5,pady=5)

btn_four.grid(row=4,column=1)

btn_five.grid(row=4,column=2)

btn_six.grid(row=4,column=3)

btn_sub.grid(row=4,column=4)

btn_one = tk.Button(root,text='1',font=font_number,bg='#F0CBDB',width=8,padx=5,pady=5)

btn_two = tk.Button(root,text='2',font=font_number,bg='#F0CBDB',width=8,padx=5,pady=5)

btn_three = tk.Button(root,text='3',font=font_number,bg='#F0CBDB',width=8,padx=5,pady=5)

btn_add = tk.Button(root,text='+',font=font_number,width=8,padx=5,pady=5)

btn_one.grid(row=5,column=1)

btn_two.grid(row=5,column=2)

btn_three.grid(row=5,column=3)

btn_add.grid(row=5,column=4)

btn_zero = tk.Button(root,text='0',font=font_number,bg='#F0CBDB',width=18,padx=5,pady=5)

# btn_zero1 = tk.Button(root,text='0',font=font_number,padx=5,pady=5)

btn_dot = tk.Button(root,text='.',font=font_number,width=8,padx=5,pady=5)

btn_equal = tk.Button(root,text='=',font=font_number,width=8,padx=5,pady=5)

btn_zero.grid(row=6,column=1,columnspan=2)

# btn_zero1.grid(row=6,column=2)

btn_dot.grid(row=6,column=3)

btn_equal.grid(row=6,column=4)

def inputnumber(param):

   # 定义global变量

   result_str.set(result_str.get() + param)

def equal():

   str = result_str.get()

   if len(str) != 0:

       num = eval(str)

       result_str.set(num)

def clear():

   result_str.set('')

btn_zero.config(command=lambda:inputnumber('0') );

btn_one.config(command=lambda:inputnumber('1') );

btn_two.config(command=lambda:inputnumber('2'));

btn_three.config(command=lambda:inputnumber('3'));

btn_four.config(command=lambda:inputnumber('4'));

btn_five.config(command=lambda:inputnumber('5'));

btn_six.config(command=lambda:inputnumber('6'));

btn_seven.config(command=lambda:inputnumber('7'));

btn_eight.config(command=lambda:inputnumber('8'));

btn_nine.config(command=lambda:inputnumber('9'));

btn_add.config(command=lambda:inputnumber('+'));

btn_sub.config(command=lambda:inputnumber('-'));

btn_multi.config(command=lambda:inputnumber('*'));

btn_div.config(command=lambda:inputnumber('/'));

btn_dot.config(command=lambda:inputnumber('.'));

#定义等于点击事件

btn_equal.config(command=equal)

#清除结果

btn_clear.config(command=clear)

root.mainloop()

相关文章
|
1月前
|
数据可视化 开发者 Python
Python GUI开发:Tkinter与PyQt的实战应用与对比分析
【10月更文挑战第26天】本文介绍了Python中两种常用的GUI工具包——Tkinter和PyQt。Tkinter内置于Python标准库,适合初学者快速上手,提供基本的GUI组件和方法。PyQt基于Qt库,功能强大且灵活,适用于创建复杂的GUI应用程序。通过实战示例和对比分析,帮助开发者选择合适的工具包以满足项目需求。
116 7
|
2月前
|
云计算 Python
用python给你写个简单的计算器功能网页啊
这张图片展示了阿里巴巴集团的组织架构图,涵盖了核心电商、云计算、数字媒体与娱乐、创新业务等主要板块,以及各板块下的具体业务单元和部门。
|
3月前
|
前端开发 Python
python之【Tkinter模块】
python之【Tkinter模块】
49 5
|
2月前
|
存储 IDE 数据处理
使用Python构建一个高级计算器
本文介绍如何使用Python和`tkinter`库构建一个高级计算器。该计算器支持基本运算(加、减、乘、除、求整、求余)、科学运算(平方根、幂等)以及简单的图形用户界面(GUI)。通过该项目,您将学习到如何处理用户输入、执行计算并显示结果。适合初学者提升编程技能。
124 0
|
4月前
|
Python
python tkinter 实现简易秒表计时器
python tkinter 实现简易秒表计时器
129 1
|
4月前
|
数据可视化 文件存储 Python
【python】python基于tkinter的学生成绩管理系统(源码+数据文件)【独一无二】(二)
【python】python基于tkinter的学生成绩管理系统(源码+数据文件)【独一无二】(二)
171 2
|
4月前
|
存储 Python
【python】python基于tkinter的学生成绩管理系统(源码+数据文件)【独一无二】(一)
【python】python基于tkinter的学生成绩管理系统(源码+数据文件)【独一无二】(一)
261 2
|
4月前
|
存储 数据可视化 Python
【python】python tkinter 计算器GUI版本(模仿windows计算器 源码)【独一无二】
【python】python tkinter 计算器GUI版本(模仿windows计算器 源码)【独一无二】
255 1
|
3月前
|
开发者 Python
Python 编程入门:从零到一实现简单计算器
【8月更文挑战第31天】 在这个数字技术日益发展的时代,编程已成为一项基础技能。本文通过构建一个简单的Python计算器项目,引导初学者步入编程世界的大门。我们将一起学习如何定义函数、处理用户输入以及执行基本算术操作,最终实现一个能够进行加减乘除运算的小工具。无论你是编程新手还是想复习基础知识的开发者,这篇文章都将为你提供一次愉快的编程体验。
|
4月前
|
开发者 Python
Python 编程入门:从零到一实现简单计算器
【8月更文挑战第31天】在这个数字技术日益发展的时代,编程已成为一项基础技能。本文通过构建一个简单的Python计算器项目,引导初学者步入编程世界的大门。我们将一起学习如何定义函数、处理用户输入以及执行基本算术操作,最终实现一个能够进行加减乘除运算的小工具。无论你是编程新手还是想复习基础知识的开发者,这篇文章都将为你提供一次愉快的编程体验。
下一篇
DataWorks