• 大小: 8.34MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-10-06
  • 语言: Python
  • 标签: 计算器  tkinter  

资源简介

巧妙运用python的tkinter库搭建的一个加减乘除计算器,运算只能在第一行实现,第二行为计算结果

资源截图

代码片段和文件信息

from tkinter import *
from tkinter import ttk
import base64
from qq import img
import os


# 将图标icon文件转化成编码形式
# open_icon = open(‘icon.ico‘‘rb‘)
# b64str = base64.b64encode(open_icon.read())
# open_icon.close()
# write_data = “img = ‘%s‘“ % b64str.decode()
# f=open(“icon.py““w+“)
# f.write(write_data)
# f.close()


calculator = Tk()
# 将图标显示出来
# tmp = open(‘tmp.ico‘‘wb+‘)
# tmp.write(base64.b64decode(img))
# tmp.close()
# calculator.iconbitmap(‘16.ico‘)
# os.remove(“tmp.ico“)
calculator.title(‘简易计算器1.0.1‘)
calculator.geometry(‘380x292+500+250‘)
# 限制边框不能变
calculator.resizable(False False)
# 显示框样式
show = ttk.frame(calculator padding=“0 0 12 0“)
show.grid(column=0 row=0 columnspan=2)
# 第一行按钮样式
first = ttk.frame(calculator padding=“0 0 3 0“)
first.grid(column=0 row=1 sticky=(N W E S))
# 第二行按钮样式
second = ttk.frame(calculator padding=“0 0 3 0“)
second.grid(column=0 row=2 sticky=(N W E S))
# 第三行按钮样式
third = ttk.frame(calculator padding=“0 0 3 0“)
third.grid(column=0 row=3 sticky=(N W E S))
# 第四行按钮样式
fourth = ttk.frame(calculator padding=“0 0 3 0“)
fourth.grid(column=0 row=4 sticky=(N W E S))
# 等于号的样式
equ = ttk.frame(calculator padding=“0 10 12 0“)
equ.grid(column=1 row=2 rowspan=3 sticky=(N W E S))
# 清除的样式
clear = ttk.frame(calculator padding=“0 0 12 0“)
clear.grid(column=1 row=1 sticky=(N W E S))
# 运算符及点
operator = [‘+‘ ‘-‘ ‘*‘ ‘/‘ ‘.‘]
# 实现计算器功能部分
# 数字部分


def one():
    text.insert(‘end‘ ‘1‘)


def two():
    text.insert(‘end‘ ‘2‘)


def three():
    text.insert(‘end‘ ‘3‘)


def four():
    text.insert(‘end‘ ‘4‘)


def five():
    text.insert(‘end‘ ‘5‘)


def six():
    text.insert(‘end‘ ‘6‘)


def seven():
    text.insert(‘end‘ ‘7‘)


def eight():
    text.insert(‘end‘ ‘8‘)


def nine():
    text.insert(‘end‘ ‘9‘)


def zero():
    text.insert(‘end‘ ‘0‘)


# 加
def Add():
    # text.insert(‘end‘ ‘+‘)
    i = str(text.get(1.0 END)[-2])
    if i in operator:
        pass
    else:
        text.insert(‘end‘ ‘+‘)


# 减
def Sup():
    i = str(text.get(1.0 END)[-2])
    if i in operator:
        pass
    else:
        text.insert(‘end‘ ‘-‘)


# 乘
def Mult():
    i = str(text.get(1.0 END)[-2])
    if i in operator:
        pass
    else:
        text.insert(‘end‘ ‘*‘)


# 除
def Div():

    i = str(text.get(1.0 END)[-2])
    if i in operator:
        pass
    else:
        text.insert(‘end‘ ‘/‘)


# 清除键的执行函数
def clear_all():
    text.delete(0.0 END)


# 删除键的执行函数
def del_one():
    # a=str(text.get(1.0END))
    # print(a[-2])
    text.delete((1.0 ‘2.0‘)[-2])


def point():
    i = str(text.get(1.0 END)[-2])
    if i in operator:
        pass
    else:
        text.insert(‘end‘ ‘.‘)

        
# 等号利用eval函数直接计算
def count():
    result = str(eval(text.get(1.0 END)))
    text.insert(‘end‘ ‘\n‘ + result)

# 计算器显示部分
text = Text(show heig

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件     8946856  2018-05-24 09:17  calculator1.0.1.exe
     文件        5346  2018-06-04 14:47  calculator.py

评论

共有 条评论