
| Column | Details |
|---|---|
| Data | Displays the final reading after the calculations |
| Max Limit | Upper limit for Data column value, if increased then the Data value is allowed to change. |
| Step | Spinbox, the increment value for Data. |
| Delay | Delay in milli-seconds. Time for updating the readings using the step value |
import tkinter as tk
from tkinter import *
my_w = tk.Tk()
my_w.geometry("400x150") # Size of the window
my_w.title("www.plus2net.com") # Adding a title
font1=('Times 24 normal')
l1=tk.Label(my_w,text='Data')
l1.grid(row=0,column=0,pady=3)
l2=tk.Label(my_w,text='Max Limit')
l2.grid(row=0,column=1,pady=3)
l3=tk.Label(my_w,text='Step')
l3.grid(row=0,column=2,pady=3)
l4=tk.Label(my_w,text='Delay:milli second')
l4.grid(row=0,column=3,pady=3)
e1_d=tk.DoubleVar(value=688.4)
e1 = tk.Entry(my_w, width=6,bg='yellow',
textvariable=e1_d,font=font1) # added one Entry box
e1.grid(row=1,column=0,padx=5)
e_max_i=tk.IntVar(value=702)
e_max = tk.Entry(my_w, width=4,bg='#FFCCCB',
textvariable=e_max_i,font=font1) # added one Entry box
e_max.grid(row=1,column=1,padx=5)
sb1_d=tk.DoubleVar(value=0.2)
sb1 = tk.Spinbox(my_w, from_= 0.2, to = 3.0,width=4, increment=0.2,
textvariable=sb1_d,font=font1)
sb1.grid(row=1,column=2,padx=5)
sb2_i=tk.IntVar(value=500)
sb2 = tk.Spinbox(my_w, from_= 500, to = 5000,width=4, increment=500,
textvariable=sb2_i,font=font1)
sb2.grid(row=1,column=3,padx=5)
def my_upd(*args):
i=e1_d.get()+sb1_d.get()
if(i<=e_max_i.get()): # check upper limit
i="{:.2f}". format(i) # formating upto 2 decimal place
e1_d.set(i)
my_w.after(sb2_i.get(),my_upd)
my_upd() # start
e_max_i.trace('w',my_upd) # if the max limit is changed
my_w.mainloop() # Keep the window open
Entry
Python Tkinter Projects
Spinbox DoubleVar
Author & Instructor at plus2net
I write and maintain practical tutorials on Python, PHP, SQL, JavaScript, HTML, jQuery, and web development at plus2net. The tutorials focus on clear explanations, working examples, and code that readers can test and adapt while learning.