IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> Python使用tkinter模块实现一个简单的计算器的GUI操作 -> 正文阅读

[开发工具]Python使用tkinter模块实现一个简单的计算器的GUI操作

学习tkinter之余,实现了一个简单的计算器操作,能够满足页面输入参数和计算得到结果
下面是结果展示和源码记录:
在这里插入图片描述
在这里插入图片描述
源码如下:

import tkinter as tk
from tkinter import ttk
from tkinter import messagebox


class Windows(tk.Frame):
    def __init__(self, root):
        self.root = root  # 窗口的变量
        self.root.geometry("300x200")  # 初始化窗口的大小
        self.root.title("WIN")  # 初始化窗口的名称
        self.frame1 = tk.Frame()
        self.frame2 = tk.Frame()
        self.operate = tk.Frame()

        self.lable_str = tk.StringVar(None, "6666")  # 给标签一个初始值
        self.num1 = tk.StringVar(None, "")
        self.num2 = tk.StringVar(None, "")
        self.operate_str = tk.StringVar(None, "+") # 操作符号
        # self.operate = tk.StringVar(None, "")

        self.lable_num1()  # 显示lable标签
        self.lable_num2()  # 显示lable标签
        self.lable_operate()
        self.button_()  # 显示button标签

    # 图标的操作
    def lable_num1(self):
        tk.Label(self.frame1, text="输入第1个数字").grid(row=0, column=0)
        tk.Entry(self.frame1, textvariable=self.num1).grid(row=0, column=1)
        self.frame1.grid()

    def lable_num2(self):
        tk.Label(self.frame2, text="输入第2个数字").grid(row=1, column=0)
        tk.Entry(self.frame2, textvariable=self.num2).grid(row=1, column=1)
        self.frame2.grid()

    def button_(self):
        tk.Button(self.root, text="输出结果", command=self.button_operate, width=6,
                  heigh=2).grid()

    def lable_operate(self):
        tk.Label(self.operate, text="运算符").grid(row=3, column=0)
        self.selector = ttk.Combobox(self.operate, values=["+", "-", "*", "/", "//"])  # 增加默认的值的操作
        self.selector.grid(row=3, column=1)
        self.selector.current(0)  # 选择一个作为默认值
        self.selector.bind("<<ComboboxSelected>>", self.selectlistenor)  # 绑定一个事件,能够获取一个操作过程的信息
        self.operate.grid()

    def selectlistenor(self, *args):
        print("当前的运算符号为:%s" % self.selector.get())
        self.operate_str.set(self.selector.get())  # 将页面获取到的值赋给操作变量

    # 实现的后台的操作
    def button_operate(self):
        num1 = int(self.num1.get())
        num2 = int(self.num2.get())
        operate = self.operate_str.get()
        result = 0
        print(num1)
        print(num2)
        if (0 == num1) and ("/" == operate or "//" == operate):
            messagebox.showwarning("被除数不能为0")
            return
        if operate == "+":
            result = num1 + num2
        if operate == "-":
            result = num1 - num2
        if operate == "*":
            result = num1 * num2
        if operate == "/":
            result = num1 / num2
        if operate == "//":
            result = num1 / num2

        if num1 is None or num2 is None:
            messagebox.showerror("\n提示:请输入要计算的数据")
            return
        messagebox.showinfo("%s" % (result))


if __name__ == '__main__':
    root = tk.Tk()  # 初始化一个窗口
    Windows(root=root)
    root.mainloop()

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2021-09-22 14:53:00  更:2021-09-22 14:54:05 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 2:26:00-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码