Aplicación simple de la biblioteca Tkinter de python: desarrolle una calculadora simple

Desarrolle una calculadora simple usando la biblioteca Tkinter de python


Prefacio

Cualquier lenguaje convencional puede desarrollar una calculadora simple, ¡usaremos Python para desarrollar este artículo! Código fuente adjunto


Sugerencia: El siguiente es el contenido de este artículo, los siguientes casos son para referencia

1. Preparación del experimento

1.Selección de software de desarrollo:
hay muchos programas que pueden escribir python en el cuaderno jupyter. Yo uso este experimento. Cuando quieras usar el cuaderno jupyter, primero debes instalar anaconda. El tutorial de instalación es el siguiente tutorial de instalación de Anaconda (gráficos) pero presta atención La fuente de Tsinghua instalada en Anaconda no está disponible. Debes usar el espejo de Tsinghua. Puedes verificarlo en Baidu. No hay ningún enlace aquí.

2. La realización de la interfaz gráfica-Tkinter

Cuando usamos Python para implementar la interfaz gráfica, el paquete que tenemos que usar es Tkinter. Tkinter es un módulo para el diseño de ventanas usando Python. El módulo Tkinter ("interfaz Tk") es una interfaz para el kit de herramientas GUI Tk estándar de Python. Como interfaz GUI específica de Python, es una ventana de imagen. Tkinter es una interfaz GUI que viene con Python y se puede editar. Podemos usar GUI para lograr muchas funciones intuitivas. Por ejemplo, si queremos desarrollar una calculadora, si es solo una entrada y salida de programa En el caso de Windows, la experiencia del usuario es inútil. Es necesario todo el desarrollo de una pequeña ventana gráfica. Debido a que el lenguaje es fácil de leer y de usar, es por eso que elijo Python como calculadora. Si desea obtener más información sobre Tkinter, puede leer la explicación detallada de los grandes, con un enlace: Python GUI tkinter window tutorial collection

2. Pasos de desarrollo

1. Importa la biblioteca

En este momento, necesitamos llamar a los paquetes matemáticos y Tkinter de python. ¡Cabe señalar que la llamada de Tkinter después de python3 está en mayúsculas ! ! ! De lo contrario, la compilación informará de un error.
el código se muestra a continuación:

import math
import tkinter as tk

2. Diseño de interfaz

El diseño del programa se divide principalmente en dos partes, una es el diseño de la interfaz y la otra es el cálculo. Primero, veamos el diseño de la interfaz. En primer lugar, construimos un framework, podemos usar el bucle para completar los botones, antes de esto debemos prestar atención al código de inicialización de la calculadora de la
siguiente manera (ejemplo):

class Calc(tk.Tk):
    """计算器窗体类"""
    def __init__(self):
        """初始化实例"""
        tk.Tk.__init__(self)
        self.title("我的计算器")
        self.memory = 0  # 暂存数值
        self.Demo()

    def Demo(self):
        """创建界面"""
        btn_list = ["C", "(", ")", "/",
                    "7", "8", "9", "*",
                    "4", "5", "6", "-",
                    "1", "2", "3", "+",
                    "+/-", "0", ".", "="]
        r = 1
        c = 0
        for b in btn_list:
            self.button = tk.Button(self, text=b, width=5,
                                    command=(lambda x=b: self.operate(x)))
            self.button.grid(row=r, column=c, padx=3, pady=6)
            c += 1
            if c > 3:
                c = 0
                r += 1
        self.entry = tk.Entry(self, width=24, borderwidth=2,
                              bg="black", font=("黑体", 11))
        self.entry.grid(row=0, column=0, columnspan=4, padx=8, pady=6)

El siguiente paso es implementar la parte del algoritmo. En el pasado, para realizar un polinomio como 2- (3-2) en C ++ , cuando el polinomio se ingresa en la calculadora de una vez, se deben considerar este tipo de cuestiones de prioridad entre paréntesis. Debe insertar números y símbolos en la pila por separado para determinar la prioridad. Cuando usamos Python, podemos usar el cuadro de texto Tkinter (entrada) para realizar el uso de la entrada. Hay muchos usos. Puede ver el análisis de XML de Python para obtener más información, no aquí El
código se describe uno por uno de la siguiente manera:

def operate(self, key):
        """press the button"""
        if key == "=":  # 输出结果
            result = eval(self.entry.get())#获取文本框输入的值(值为=)
            self.entry.insert(tk.END, " = " + str(result))#在’=‘后输出计算结果
        elif key == "C":  # 清空输入框
            self.entry.delete(0, tk.END)#将结果清零
        elif key == "+/-":  # 取相反数
            if "=" in self.entry.get():
                self.entry.delete(0, tk.END)
            elif self.entry.get()[0] == "-":
                self.entry.delete(0)
            else:
                self.entry.insert(0, "-")
        else:  # 其他键
            if "=" in self.entry.get():
                self.entry.delete(0, tk.END)
            self.entry.insert(tk.END, key)
if __name__ == "__main__":
    Calculator().mainloop()

3. La clave para lograr la llamada de la biblioteca Tkinter.

Python proporciona múltiples bibliotecas para interfaces de desarrollo gráfico. La biblioteca de uso común usa Tkinter. El uso de Tkinter puede reducir en gran medida la cantidad de líneas de código. La idea es clara y simple, simple y fácil de leer, pero en el proceso de escritura, principalmente mediante el uso de funciones de Tkinter. , Lo que también hace que el algoritmo del programa no sea tan destacado.


para resumir

Este artículo solo presenta brevemente el uso de Tkinter para desarrollar una calculadora simple. Puede usar el código fuente a continuación, ejecutarlo y probarlo, y adjuntar una animación de demostración. Además, si está interesado en la biblioteca de Tkinter mencionada en este artículo, consulte el enlace de arriba, muy detallado

Presentación dinámica

Código fuente

import tkinter as tk
class Calculator(tk.Tk):
    """计算器窗体类"""
    def __init__(self):
        """初始化实例"""
        tk.Tk.__init__(self)
        self.title("我的计算器")
        self.memory = 0  # 暂存数值
        self.Demo()
        
    def Demo(self):
        """Create the Demo"""
        btn_list = ["C", "(", ")", "/",
                    "7", "8", "9", "*",
                    "4", "5", "6", "-",
                    "1", "2", "3", "+",
                    "+/-", "0", ".", "="]
        r = 1
        c = 0
        for b in btn_list:
            self.button = tk.Button(self, text=b, width=5,
                                    command=(lambda x=b: self.operate(x)))
            self.button.grid(row=r, column=c, padx=3, pady=6)
            c += 1
            if c > 3:
                c = 0
                r += 1
        self.entry = tk.Entry(self, width=21, borderwidth=3,
                              bg="light blue", font=("黑体", 11))
        self.entry.grid(row=0, column=0, columnspan=4, padx=8, pady=6)

    def operate(self, key):
        """press the button"""
        if key == "=":  # 输出结果
            result = eval(self.entry.get())#获取文本框输入的值(值为=)
            self.entry.insert(tk.END, " = " + str(result))#在’=‘后输出计算结果
        elif key == "C":  # 清空输入框
            self.entry.delete(0, tk.END)#将结果清零
        elif key == "+/-":  # 取相反数
            if "=" in self.entry.get():
                self.entry.delete(0, tk.END)
            elif self.entry.get()[0] == "-":
                self.entry.delete(0)
            else:
                self.entry.insert(0, "-")
        else:  # 其他键
            if "=" in self.entry.get():
                self.entry.delete(0, tk.END)
            self.entry.insert(tk.END, key)

if __name__ == "__main__":
    Calculator().mainloop()

Supongo que te gusta

Origin blog.csdn.net/weixin_44120833/article/details/110467105
Recomendado
Clasificación