基于Python-tkinter 做了个简单的同步带节线长计算工具


前言

本机械狗总是要用到带传动,会常常计算同步带节线长,每次算都要查公式,带入,敲手机计算器,久而久之咱就算烦了,索性就自己做一个吧,用的是最简单的gui库tkinter。


一、tkinter是什么?

Tkinter 是使用 python 进行窗口视窗设计的模块。Tkinter模块(“Tk 接口”)是Python的标准Tk GUI工具包的接口。作为 python 特定的GUI界面,是一个图像的窗口,tkinter是python 自带的,可以编辑的GUI界面,我们可以用GUI 实现很多直观的功能,比如想开发一个计算器,如果只是一个程序输入,输出窗口的话,是没用用户体验的,所以开发一个图像化的小窗口,就是必要的。

二、代码

1.引入库

import math  # 因为计算公式要用到pi,引入math库python才能认识pi
import tkinter as tk

2.创建窗口

window = tk.Tk()  # 创建窗口
window.title('同步带轮节线长计算器v1.0')  # 窗口名字
window.geometry('400x400+400+300')  # 窗口大小和xy偏移量 宽*高+x偏移量+y偏移量

3.用.pack方式放置Label和Entry

label1 = tk.Label(window, text='模数:', bg='green', font=('Arial', 12), width=30, height=2)
label1.pack()
inputM = tk.StringVar()
e1 = tk.Entry(window, show=None, font=('Arial', 14), textvariable=inputM)
e1.pack()

label2 = tk.Label(window, text='中心距:', bg='green', font=('Arial', 12), width=30, height=2)
label2.pack()
inputC = tk.StringVar()
e2 = tk.Entry(window, show=None, font=('Arial', 14), textvariable=inputC)
e2.pack()

label3 = tk.Label(window, text='主动轮齿数:', bg='green', font=('Arial', 12), width=30, height=2)
label3.pack()
inputz = tk.StringVar()
e3 = tk.Entry(window, show=None, font=('Arial', 14), textvariable=inputz)
e3.pack()

label4 = tk.Label(window, text='从动轮齿数:', bg='green', font=('Arial', 12), width=30, height=2)
label4.pack()
inputZ = tk.StringVar()
e4 = tk.Entry(window, show=None, font=('Arial', 14), textvariable=inputZ)
e4.pack()

4.同步带节线长算法

def syncLcal():
    # M 模数
    # Z 大带轮齿数
    # z 小带轮齿数
    # L 近似皮带节线长
    # C 两轴的中心距
    # Dp 大带轮的节径
    # dp 小带轮节径
    M = inputM.get()
    C = inputC.get()
    z = inputz.get()
    Z = inputZ.get()
    dp = int(M) * int(z) / math.pi
    Dp = int(M) * int(Z) / math.pi
    L = 2 * float(C) + 1.57 * (Dp + dp) + ((Dp - dp) ** 2) / (4 * float(C))
    outputVar.set('节线长:%.2f mm' % L)

5.放置Button,并关联算法

b1 = tk.Button(window, text='计算', font=('Arial', 12), width=10, height=1, command=syncLcal)
b1.pack()

outputVar = tk.StringVar()  # 获取输出的变量
outputVar.set('点击计算')
outputLabel = tk.Label(window, textvariable=outputVar, font='微软雅黑 24 normal', fg='green')
outputLabel.pack(padx=5, pady=10)

window.mainloop()  # 持续监听

6.Run

在这里插入图片描述

总结

现在功能比较单一且不太完善,以后逐步改进。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值