使用 Tkinter 的比率计算器 GUI
先决条件: Python GUI – tkinter
Tkinter是在Python中开发 GUI(图形用户界面)最常用的库。它是Python附带的 Tk GUI 工具包的标准Python接口。由于 Tk 和Tkinter在大多数 Unix 平台以及 Windows 系统上都可用,因此使用Tkinter开发 GUI 应用程序变得最快和最简单。
在本文中,我们将讨论如何使用Tkinter模块创建比率计算器。
什么是比率计算器?
它是根据给定的比率值计算分母的计算器。
解释:
Input:
a = 10
b = 20
c = 30
d = ?
a : d = c : d
Output:
value of d is 60.0
以下是计算器的外观:
使用的公式:
a/b = c/d
这里a和b是给定的比率,而c是输入的值,我们必须找到它的比率,即分母d 。
循序渐进的方法:
- 创建普通的 Tkinter窗口
Python3
# Import module
from tkinter import *
# Create object
root = Tk()
# Adjust size
root.geometry("400x400")
# Execute tkinter
root.mainloop()
Python3
# Import Module
from tkinter import *
# Create Object
root = Tk()
# Set height and width
width = 600
height = 250
# Set Geometry and min, max size
root.geometry(f"{width}x{height}")
root.maxsize(width, height)
root.minsize(width, height)
# Create Label
Label(root, text="Ratio Calculator", font=(
"Helvetica", 18, "bold"), fg="blue").pack()
# Funtion will calculate the value of x
def ratio_calculator():
# Get the value of spinbox using get() method
s11 = int(s1.get())
s22 = int(s2.get())
s33 = int(s3.get())
# Formule Used
value = (s33*s22)/s11
# change the text of label using config method
value_of_x.config(text=value)
# Create Frame
frame = Frame(root)
frame.pack()
# Create Spin Boxes
s1 = Spinbox(frame, from_=0, to=10000000, width=10,
font=("Helvetica", 14, "bold"))
s1.pack(side=LEFT, padx=10, pady=10)
s2 = Spinbox(frame, from_=0, to=10000000, width=10,
font=("Helvetica", 14, "bold"))
s2.pack(side=LEFT, padx=10, pady=10)
s3 = Spinbox(frame, from_=0, to=10000000, width=10,
font=("Helvetica", 14, "bold"))
s3.pack(side=LEFT, padx=10, pady=10)
# Add Another Label
Label(frame, text="X", width=10, font=("Helvetica",
14, "bold"),
borderwidth=1, relief="solid").pack(side=LEFT,
padx=10,
pady=10)
# Add Another Frame
frame1 = Frame(root)
frame1.pack()
x_value = Label(frame1, text="Value of x:",
font=("Helvetica", 18, "bold"))
x_value.pack(side=LEFT)
value_of_x = Label(frame1, text="",
font=("Helvetica", 18, "bold"))
value_of_x.pack(side=LEFT)
# Create Button
Button(root, text="Calculate", borderwidth=2, width=15,
font=("Helvetica", 14, "bold"),
command=ratio_calculator, fg="red",
bg="black").pack(pady=20)
# Execute Tkinter
root.mainloop()
输出:
- 使用Frame()方法创建一帧并使用Spinbox()方法添加三个旋转框。
句法:
# Create Frame
frame = Frame(Object Name)
# Create Spin Box
# Enter Range
Spinbox(frame, from_= 0, to = 10,**attr)
- 创建另一个框架,添加按钮、标签并创建一个名为ratio_calulator的函数,该函数将计算X的值。
句法:
# Create Frame
frame1 = Frame(Object Name)
# Create Label
Label(frame1, text="Enter Text",**attr)
# Create Button
Button(root,text="Enter Text",**attr)
下面是实现:
蟒蛇3
# Import Module
from tkinter import *
# Create Object
root = Tk()
# Set height and width
width = 600
height = 250
# Set Geometry and min, max size
root.geometry(f"{width}x{height}")
root.maxsize(width, height)
root.minsize(width, height)
# Create Label
Label(root, text="Ratio Calculator", font=(
"Helvetica", 18, "bold"), fg="blue").pack()
# Funtion will calculate the value of x
def ratio_calculator():
# Get the value of spinbox using get() method
s11 = int(s1.get())
s22 = int(s2.get())
s33 = int(s3.get())
# Formule Used
value = (s33*s22)/s11
# change the text of label using config method
value_of_x.config(text=value)
# Create Frame
frame = Frame(root)
frame.pack()
# Create Spin Boxes
s1 = Spinbox(frame, from_=0, to=10000000, width=10,
font=("Helvetica", 14, "bold"))
s1.pack(side=LEFT, padx=10, pady=10)
s2 = Spinbox(frame, from_=0, to=10000000, width=10,
font=("Helvetica", 14, "bold"))
s2.pack(side=LEFT, padx=10, pady=10)
s3 = Spinbox(frame, from_=0, to=10000000, width=10,
font=("Helvetica", 14, "bold"))
s3.pack(side=LEFT, padx=10, pady=10)
# Add Another Label
Label(frame, text="X", width=10, font=("Helvetica",
14, "bold"),
borderwidth=1, relief="solid").pack(side=LEFT,
padx=10,
pady=10)
# Add Another Frame
frame1 = Frame(root)
frame1.pack()
x_value = Label(frame1, text="Value of x:",
font=("Helvetica", 18, "bold"))
x_value.pack(side=LEFT)
value_of_x = Label(frame1, text="",
font=("Helvetica", 18, "bold"))
value_of_x.pack(side=LEFT)
# Create Button
Button(root, text="Calculate", borderwidth=2, width=15,
font=("Helvetica", 14, "bold"),
command=ratio_calculator, fg="red",
bg="black").pack(pady=20)
# Execute Tkinter
root.mainloop()
输出: