python gui设计 tkinter菜鸟编程_三菱简单运动控制模块教程

python gui设计 tkinter菜鸟编程_三菱简单运动控制模块教程学习tkinter之余,实现了一个简单的计算器操作,能够满足页面输入参数和计算得到结果

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

学习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()

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/168448.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • redis版本怎么查看(查看redis进程)

    1下载redis并且解压https://www.runoob.com/redis/redis-install.html2分别启动服务端和客户端3在服务端输入info命令,可以看到当前版本

  • f1 score计算_F1值

    f1 score计算_F1值F1分数(F1Score),是统计学中用来衡量二分类模型精确度的一种指标。它同时兼顾了分类模型的精确率和召回率。F1分数可以看作是模型精确率和召回率的一种加权平均,它的最大值是1,最小值是0。1.TP、TN、FP、FN解释说明真实情况 预测结果 正例 反例 正例 TP(真正例) FN(假反例) 反例 FP(假正例) TN(真反例) 行表示预测的label值,列表示真实label值 TP:TruePositive,被判定为正样本,事实上也是

  • axios实现跨域三种方法_cors跨域axios

    axios实现跨域三种方法_cors跨域axios跨域:指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对JavaScript施加的安全限制。所谓同源是指,域名,协议,端口均相同,浏览器执行js脚本时,会检查这个脚本属于哪个页面,如果不是同源页面,就不会被执行。以下举例:(1)http://www.123.com/index.html调用http://www.123.com/server.php(非跨域)(2)…

  • goland20.3.2激活码_通用破解码

    goland20.3.2激活码_通用破解码,https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • 基于51单片机的红绿灯设计

    基于51单片机的红绿灯设计寒假项目最后一个,基于STC/AT89C51的红路灯设计实现十效果具体为:南北通行42秒,南北闪烁3秒,南北黄灯4秒,禁止通行1秒,东西黄灯4秒,东西通行27秒,东西闪烁3秒,东西黄灯4秒。同时具备特殊放行模式:南北自由通行;东西自由通行;全部禁行。所有时间可以修改。貌似和平时的红路灯不一样,但是由于想凑齐八个状态,就整了这神奇的控制步骤。黄灯多,安全第一!!原理图:本来是想设计一个蓝牙或者……

  • 电脑蓝屏0x000000f4解决步骤_win7蓝屏0x0000001a

    电脑蓝屏0x000000f4解决步骤_win7蓝屏0x0000001a各合作伙伴:当前出现部分用户电脑因win7操作系统服役期结束,更新操作系统补丁导致系统蓝屏,错误代码0X000000F4的现象。在此提醒广大伙伴及用户,可尝试按照以下方法进行处理并设置。1、开机按F8进入安全模式,设置操作系统进入干净启动状态。2、打开“开始”-“控制面板”-“系统和安全”-“已安装的更新”,拖到底部“当前已安装的更新”将已安装更新删除。3、点击开始菜单并…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号