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)
blank

相关推荐

  • Java的特点[通俗易懂]

    Java的特点[通俗易懂]Java是一种“简单”、面向对象、分布式、解释型、健壮、安全、体系结构中立、可移植、高性能和动态的编程语言。简单:Java的设计目的是让专业程序员觉得既易学又好用。假设你有编程经历,你将不觉得Java难掌握,如果你已经理解面向对象编程的基本概念,学习Java见更加容易。面向对象:面向对象是现代编程语言的重要特征之一,面向对象技术极大的提高了人们的软件开发能力。分布

  • Python 获取动漫番剧 -XXOO[通俗易懂]

    Python 获取动漫番剧 -XXOO[通俗易懂]前言没有什么好说的,就是想起来前些年失恋使劲刷番剧缓解自己糟糕的情绪。纪念下。一、直接上代码1.搜索入口#搜索动漫名称列表defget_video_list(name):#开启代理#proxy={‘http’:’http://127.0.0.1:8080′,’https’:’https://127.0.0.1:8080′}url=’http://www.7666.tv/search.php?searchword=’+nam…

  • 合成控制法原理

    合成控制法原理合成控制法反事实思维是**鲁宾反事实分析框架(Rubin’scounterfactualframework)**下进行思考,本质思想是为处理组(treatedgroup)找到一个合适的控制组(controlgroup)。合成控制法的思想是对于处理组,选择与处理组具有相似特征且未受到政策干预的控制组。通过对若干个控制区进行线性组合,构造一个近似处理组的合成控制区域(syntheticcontrolregion).对于未受政策影响的潜在控制组(donorpool),通过权重向量给控制组内每

  • 华为私有云的搭建方案_如何搭建私有云

    华为私有云的搭建方案_如何搭建私有云最近有个Team共享文档的需求。包括大文件,有个access文件超过500m。开始用百度网盘,发现只能分享,不能共享。试了几个其它网盘,广告超级多,但是都没有共享这个功能。基于此,找了几个私有云程序。最后选择了可道云。完美解决云共享。分享一下自己采坑经验:1.NextCloud支持Windows,Mac,Linux,iOS,Android平台,是OwnCloud的衍生版本,很不错的产…

  • xsync 脚本[通俗易懂]

    xsync 脚本[通俗易懂]xsync文件分发脚本#!/bin/bash#1获取输入参数个数,如果没有参数,直接退出pcount=$#if((pcount==0));thenechonoargs;exit;fi#2获取文件名称p1=$1fname=`basename$p1`echofname=$fname#3获取上级目录到绝对路径pdir=`cd-P$(dirname$p1…

  • 京东云闪付_取消速览

    京东云闪付_取消速览新增产品云文件服务正式发布产品概述:京东云文件服务是一种高可靠、可扩展、可共享访问的全托管分布式文件系统。它可在不中断应用服务的情况下,按实际使用量扩展或缩减,并按照实际用量计费。操…

    2022年10月14日

发表回复

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

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