Gui制作简易计算器

本文介绍了如何利用GUI编程技术,采用面向对象的设计方法,构建一个实现加法运算的简易计算器。通过内部类来更好地组织代码,提高了代码的封装性和可读性。
摘要由CSDN通过智能技术生成

GUI编程-简易计算器

利用gui完成一个加法计算器工具

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

//简易计算器
public class TestCalc {
   
    public static void main(String[] args) {
   
        new Calculator();
    }
}

//计算器类
class Calculator extends Frame{
   
    public Calculator(){
   

        //三个文本框
        TextField num1 =new TextField(10);//字符数
        TextField num2 =new TextField(10);
        TextField num3 =new TextField(20);

        //1个按钮
        Button button = new Button("=");
        button.addActionListener(new MyCalculatorListener(num1,num2,num3));


        //一个标签
        Label label = new Label("+");

        //布局
        setLayout(new FlowLayout());

        add(num1);
        add(label);
        add(num2);
        add(button);
        add(num3);

        pack();
        setVisible<
好的,下面是一个使用 Tkinter GUI制作的 Python 计算器的代码示例: ``` python import tkinter as tk class Calculator: def __init__(self, master): self.master = master master.title("简易计算器") # 创建输入框 self.entry = tk.Entry(master, width=35, borderwidth=5) self.entry.grid(row=0, column=0, columnspan=4, padx=10, pady=10) # 创建按钮 self.button_1 = tk.Button(master, text="1", padx=40, pady=20, command=lambda: self.button_click(1)) self.button_2 = tk.Button(master, text="2", padx=40, pady=20, command=lambda: self.button_click(2)) self.button_3 = tk.Button(master, text="3", padx=40, pady=20, command=lambda: self.button_click(3)) self.button_4 = tk.Button(master, text="4", padx=40, pady=20, command=lambda: self.button_click(4)) self.button_5 = tk.Button(master, text="5", padx=40, pady=20, command=lambda: self.button_click(5)) self.button_6 = tk.Button(master, text="6", padx=40, pady=20, command=lambda: self.button_click(6)) self.button_7 = tk.Button(master, text="7", padx=40, pady=20, command=lambda: self.button_click(7)) self.button_8 = tk.Button(master, text="8", padx=40, pady=20, command=lambda: self.button_click(8)) self.button_9 = tk.Button(master, text="9", padx=40, pady=20, command=lambda: self.button_click(9)) self.button_0 = tk.Button(master, text="0", padx=40, pady=20, command=lambda: self.button_click(0)) self.button_add = tk.Button(master, text="+", padx=39, pady=20, command=self.button_add) self.button_subtract = tk.Button(master, text="-", padx=41, pady=20, command=self.button_subtract) self.button_multiply = tk.Button(master, text="*", padx=40, pady=20, command=self.button_multiply) self.button_divide = tk.Button(master, text="/", padx=41, pady=20, command=self.button_divide) self.button_equal = tk.Button(master, text="=", padx=91, pady=20, command=self.button_equal) self.button_clear = tk.Button(master, text="清除", padx=79, pady=20, command=self.button_clear) # 把按钮放在界面上 self.button_1.grid(row=1, column=0) self.button_2.grid(row=1, column=1) self.button_3.grid(row=1, column=2) self.button_4.grid(row=2, column=0) self.button_5.grid(row=2, column=1) self.button_6.grid(row=2, column=2) self.button_7.grid(row=3, column=0) self.button_8.grid(row=3, column=1) self.button_9.grid(row=3, column=2) self.button_0.grid(row=4, column=0) self.button_clear.grid(row=4, column=1, columnspan=2) self.button_add.grid(row=5, column=0) self.button_subtract.grid(row=6, column=0) self.button_multiply.grid(row=6, column=1) self.button_divide.grid(row=6, column=2) self.button_equal.grid(row=5, column=1, columnspan=2) # 定义操作函数 self.current_num = "" self.first_num = None self.operation = None def button_click(self, number): self.current_num = str(self.current_num) + str(number) self.entry.delete(0, tk.END) self.entry.insert(0, self.current_num) def button_clear(self): self.entry.delete(0, tk.END) self.current_num = "" self.first_num = None self.operation = None def button_add(self): self.first_num = float(self.current_num) self.operation = "+" self.entry.delete(0, tk.END) self.current_num = "" def button_multiply(self): self.first_num = float(self.current_num) self.operation = "*" self.entry.delete(0, tk.END) self.current_num = "" def button_subtract(self): self.first_num = float(self.current_num) self.operation = "-" self.entry.delete(0, tk.END) self.current_num = "" def button_divide(self): self.first_num = float(self.current_num) self.operation = "/" self.entry.delete(0, tk.END) self.current_num = "" def button_equal(self): second_num = float(self.current_num) self.entry.delete(0, tk.END) if self.operation == "+": result = self.first_num + second_num elif self.operation == "-": result = self.first_num - second_num elif self.operation == "*": result = self.first_num * second_num elif self.operation == "/": result = self.first_num / second_num self.entry.insert(0, result) self.current_num = "" self.first_num = None self.operation = None root = tk.Tk() calculator = Calculator(root) root.mainloop() ``` 这个计算器使用了 Tkinter GUI 库来创建用户界面。用户可以通过按钮输入数字和运算符,计算器会在输入框中显示结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值