📜  Python | 使用Tkinter的简单GUI计算器(1)

📅  最后修改于: 2023-12-03 14:46:06.586000             🧑  作者: Mango

Python | 使用Tkinter的简单GUI计算器

Python是一门非常流行的编程语言,广泛应用于各种领域。Tkinter是Python常用的图形用户界面库,可以用来开发各种GUI程序,包括计算器。

安装Tkinter

如果你已经安装了Python,那么你可以很容易地安装Tkinter。在终端中输入以下命令:

sudo apt-get install python-tk
编写计算器程序

下面是一个简单的计算器程序,采用了Tkinter库。程序可以执行基本的加减乘除操作,也可以进行小数运算。代码如下:

import tkinter as tk

class Application(tk.Frame):
    def __init__(self, master=None):
        super().__init__(master)
        self.master = master
        self.pack()
        self.create_widgets()

    def create_widgets(self):
        self.result_text = tk.StringVar()
        self.result_text.set("0")

        self.display = tk.Label(self, font=('Arial', 30), bg='white', width=15, height=2, anchor='e', textvariable=self.result_text)
        self.display.grid(row=0, column=0, columnspan=4, padx=5, pady=5)

        self.create_button('C', self.clear)
        self.create_button('+/-', self.sign)
        self.create_button('%', self.percent)
        self.create_button('/', lambda: self.operation('/'))

        self.create_button('7', lambda: self.add_digit('7'))
        self.create_button('8', lambda: self.add_digit('8'))
        self.create_button('9', lambda: self.add_digit('9'))
        self.create_button('*', lambda: self.operation('*'))

        self.create_button('4', lambda: self.add_digit('4'))
        self.create_button('5', lambda: self.add_digit('5'))
        self.create_button('6', lambda: self.add_digit('6'))
        self.create_button('-', lambda: self.operation('-'))

        self.create_button('1', lambda: self.add_digit('1'))
        self.create_button('2', lambda: self.add_digit('2'))
        self.create_button('3', lambda: self.add_digit('3'))
        self.create_button('+', lambda: self.operation('+'))

        self.create_button('0', lambda: self.add_digit('0'))
        self.create_button('.', lambda: self.add_digit('.'))
        self.create_button('=', self.calculate, width=10)

    def create_button(self, text, command, width=5):
        button = tk.Button(self, text=text, font=('Arial', 16), width=width, height=2, command=command)
        button.grid(padx=2, pady=2)

    def add_digit(self, digit):
        if self.result_text.get() == '0' and digit != '.':
            self.result_text.set(digit)
        else:
            self.result_text.set(self.result_text.get() + digit)

    def clear(self):
        self.result_text.set("0")

    def sign(self):
        if float(self.result_text.get()) > 0:
            self.result_text.set('-' + self.result_text.get())
        else:
            self.result_text.set(self.result_text.get()[1:])

    def percent(self):
        self.result_text.set(str(float(self.result_text.get()) / 100))

    def operation(self, operator):
        self.operator = operator
        self.first_operand = float(self.result_text.get())
        self.result_text.set("0")

    def calculate(self):
        second_operand = float(self.result_text.get())
        if self.operator == '+':
            self.result_text.set(str(self.first_operand + second_operand))
        elif self.operator == '-':
            self.result_text.set(str(self.first_operand - second_operand))
        elif self.operator == '*':
            self.result_text.set(str(self.first_operand * second_operand))
        elif self.operator == '/':
            self.result_text.set(str(self.first_operand / second_operand))

root = tk.Tk()
app = Application(master=root)
app.mainloop()
运行程序

运行以上代码,你将看到一个简单的计算器应用程序。你可以按键盘上的数字和运算符号,进行各种运算操作。如果你已经安装了Tkinter库,并且已经成功在Python中执行了这些代码,那么你应该可以轻松创建各种有趣的GUI应用程序。

总结

Tkinter是Python中最常用和最有用的GUI库之一。有了Tkinter,你可以轻松创建GUI程序,包括计算器、游戏、绘图工具、音乐播放器等等。无论你是初学者还是专业人士,都可以使用Tkinter来提升自己的Python编程技能。