Continuando con la interfaz gráfica de las correlación de la viscosidad del gas. En este código se hace uso de los checkbuttons, en la siguiente imagen se observa como es un checkbuttons.
Ahora se muestra el código del checkbuttons, este contiene muchos
atributos que ya se han revisado, por lo que en esta ocasión se hablará sólo de
los nuevos atributos.
Radiobutton1 = tk.Checkbutton(Octava_Ventana,text='''Correlación de Lee, A.L. González, M.H. y Eakin, B.E.''',onvalue =1,variable= var,background="gray80",command = Viscosidad.Viscosidad_Lee).place(relx=0.01, rely=0.03, relheight=0.091, relwidth=0.750, bordermode='ignore')
Como se aprecia
los atributos que han sido agregados son:
·
onvalue - Asigna un valor al checkbuttons en este caso recibe el valor 1
En seguida se
muestra el código completo.
import math as math
from tkinter import *
import tkinter as tk
import numpy as np
from tkinter import messagebox
Octava_Ventana = Tk()
Octava_Ventana.geometry("450x200")
Octava_Ventana.maxsize(450,200)
Octava_Ventana.minsize(450,200)
Octava_Ventana.title("Viscosidad del Gas")
Octava_Ventana.configure(background="gray80",highlightbackground="gray80",highlightcolor="black")
# P = 3810
# T = 194+460
# Yg = 1.242
# YN2 = 0.0051
# YCO2 = 0.1101
# YH2S = 0.0491
# Ppr = 5.60
# Tpr = 1.35
# z = 0.78
# M = 35.969
class Viscosidad():
def
Viscosidad_Lee():
#
Correlación de Lee, A.L. González, M.H. y Eakin, B.E.
try:
P
= float(Entrada_1.get())
T
= float(Entrada_2.get())
z
= float(Entrada_3.get())
M
= float(Entrada_4.get())
Ppr
= float(Entrada_5.get())
Tpr
= float(Entrada_6.get())
Yg
= float(Entrada_7.get())
YN2
= float(Entrada_8.get())
YCO2
= float(Entrada_9.get())
YH2S
= float(Entrada_10.get())
if P <= 0:
messagebox.showwarning("Advertencia!","La
presión es incorrecta")
elif
T <= 0:
messagebox.showwarning("Advertencia!","La
Temperatura es incorrecta")
elif
z <= 0:
messagebox.showwarning("Advertencia!","El
Factor de compresibilidad es incorrecto")
elif
M <= 0:
messagebox.showwarning("Advertencia!","El
Peso molecular es incorrecto")
if
Ppr <= 0:
messagebox.showwarning("Advertencia!","La
Presión pseudoreducida es incorrecta")
elif
Tpr <= 0:
messagebox.showwarning("Advertencia!","La
Temperatura pseudoreducida es incorrecta")
elif
Yg <= 0:
messagebox.showwarning("Advertencia!","La
Densidad es incorrecta")
elif
YN2 <= 0:
messagebox.showwarning("Advertencia!","El
Porcentaje contenido de N2 es incorrecto")
elif
YCO2 <= 0:
messagebox.showwarning("Advertencia!","El
Porcentaje contenido de CO2 es incorrecto")
elif
YH2S <= 0:
messagebox.showwarning("Advertencia!","El
Porcentaje contenido de H2S es incorrecto")
else:
T
= T+460
Pg
= (1.4935*(10**-3))*((P*M)/(z*T))
X
= 3.5 + (986/T)+0.01*M
K
= ((9.4+0.02*M)*T**1.5)/(209+19*M+T)
Y
= 2.4-0.2*X
Mg
= (K*np.exp(X*Pg**Y))/10**4
Salida_1.delete(0,tk.END);Salida_1.insert(tk.END,Mg)
except
ZeroDivisionError:
messagebox.showwarning("Advertencia!","Los
datos ingresados son incorrectos, por favor revisalos")
except
SyntaxError:
messagebox.showwarning("Advertencia!","Los
datos ingresados son incorrectos, por favor revisalos")
except
ValueError:
messagebox.showwarning("Advertencia!","Los
datos ingresados son incorrectos, por favor revisalos")
finally:
pass
return
var = StringVar(Octava_Ventana,"0")
Radiobutton1 =
tk.Checkbutton(Octava_Ventana,text='''Correlación de Lee, A.L. González, M.H. y
Eakin, B.E.''',onvalue =1,variable= var,background="gray80",command =
Viscosidad.Viscosidad_Lee).place(relx=0.01, rely=0.03, relheight=0.091, relwidth=0.750,
bordermode='ignore')
Recuadro_Entradas = tk.LabelFrame(Octava_Ventana)
Recuadro_Entradas.place(relx=0.01, rely=0.13,
relheight=0.850, relwidth=0.980)
Recuadro_Entradas.configure(relief='groove',foreground="black",text='''Entradas''',background="gray80",highlightbackground="gray80",highlightcolor="black",width=330)
Mensaje_1 = tk.Message(Recuadro_Entradas)
Mensaje_1.place(relx=0.02, rely=0.01, height=25, width=80)
Mensaje_1.configure(background="gray80",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center',text='''P''')
Mensaje_2 = tk.Message(Recuadro_Entradas)
Mensaje_2.place(relx=0.02, rely=0.30, height=25, width=80)
Mensaje_2.configure(background="gray80",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center',text='''T''')
Mensaje_3 = tk.Message(Recuadro_Entradas)
Mensaje_3.place(relx=0.21, rely=0.01, height=25, width=80)
Mensaje_3.configure(background="gray80",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center',text='''Z''')
Mensaje_4 = tk.Message(Recuadro_Entradas)
Mensaje_4.place(relx=0.21, rely=0.30, height=25, width=80)
Mensaje_4.configure(background="gray80",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center',text='''M''')
Mensaje_5 = tk.Message(Recuadro_Entradas)
Mensaje_5.place(relx=0.40, rely=0.00, height=25, width=80)
Mensaje_5.configure(background="gray80",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center',text='''Ppr''')
Mensaje_6 = tk.Message(Recuadro_Entradas)
Mensaje_6.place(relx=0.40, rely=0.30, height=25, width=80)
Mensaje_6.configure(background="gray80",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center',text='''Tpr''')
Mensaje_7 = tk.Message(Recuadro_Entradas)
Mensaje_7.place(relx=0.60, rely=0.00, height=25, width=80)
Mensaje_7.configure(background="gray80",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center',text='''Yg''')
Mensaje_8 = tk.Message(Recuadro_Entradas)
Mensaje_8.place(relx=0.60, rely=0.30, height=25, width=80)
Mensaje_8.configure(background="gray80",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center',text='''YN2''')
Mensaje_9 = tk.Message(Recuadro_Entradas)
Mensaje_9.place(relx=0.80, rely=0.00, height=25, width=80)
Mensaje_9.configure(background="gray80",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center',text='''YCO2''')
Mensaje_10 = tk.Message(Recuadro_Entradas)
Mensaje_10.place(relx=0.80, rely=0.30, height=25, width=80)
Mensaje_10.configure(background="gray80",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center',text='''YH2S''')
Mensaje_11 = tk.Label(Recuadro_Entradas)
Mensaje_11.place(relx=0.21, rely=0.62, height=25, width=140)
Mensaje_11.configure(background="gray80",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center',text='''Resultado:''')
Entrada_1 = tk.Entry(Recuadro_Entradas)
Entrada_1.place(relx=0.02, rely=0.18, height=20, width=80)
Entrada_1.configure(background="white",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center')
Entrada_2 = tk.Entry(Recuadro_Entradas)
Entrada_2.place(relx=0.02, rely=0.46, height=20, width=80)
Entrada_2.configure(background="white",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center')
Entrada_3 = tk.Entry(Recuadro_Entradas)
Entrada_3.place(relx=0.21, rely=0.18, height=20, width=80)
Entrada_3.configure(background="white",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center')
Entrada_4 = tk.Entry(Recuadro_Entradas)
Entrada_4.place(relx=0.21, rely=0.46, height=20, width=80)
Entrada_4.configure(background="white",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center')
Entrada_5 = tk.Entry(Recuadro_Entradas)
Entrada_5.place(relx=0.40, rely=0.18, height=20, width=80)
Entrada_5.configure(background="white",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center')
Entrada_6 = tk.Entry(Recuadro_Entradas)
Entrada_6.place(relx=0.40, rely=0.46, height=20, width=80)
Entrada_6.configure(background="white",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center')
Entrada_7 = tk.Entry(Recuadro_Entradas)
Entrada_7.place(relx=0.60, rely=0.18, height=20, width=80)
Entrada_7.configure(background="white",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center')
Entrada_8 = tk.Entry(Recuadro_Entradas)
Entrada_8.place(relx=0.60, rely=0.46, height=20, width=80)
Entrada_8.configure(background="white",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center')
Entrada_9 = tk.Entry(Recuadro_Entradas)
Entrada_9.place(relx=0.80, rely=0.18, height=20, width=80)
Entrada_9.configure(background="white",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center')
Entrada_10 = tk.Entry(Recuadro_Entradas)
Entrada_10.place(relx=0.80, rely=0.46, height=20, width=80)
Entrada_10.configure(background="white",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center')
Salida_1 = tk.Entry(Recuadro_Entradas)
Salida_1.place(relx=0.50, rely=0.64, height=20, width=140)
Salida_1.configure(background="white",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center')
Entrada_1.delete(0,tk.END);Entrada_1.insert(tk.END,"");Entrada_1.insert(tk.END,0.00)
Entrada_2.delete(0,tk.END);Entrada_2.insert(tk.END,"");Entrada_2.insert(tk.END,0.00)
Entrada_3.delete(0,tk.END);Entrada_3.insert(tk.END,"");Entrada_3.insert(tk.END,0.00)
Entrada_4.delete(0,tk.END);Entrada_4.insert(tk.END,"");Entrada_4.insert(tk.END,0.00)
Entrada_5.delete(0,tk.END);Entrada_5.insert(tk.END,"");Entrada_5.insert(tk.END,0.00)
Entrada_6.delete(0,tk.END);Entrada_6.insert(tk.END,"");Entrada_6.insert(tk.END,0.00)
Entrada_7.delete(0,tk.END);Entrada_7.insert(tk.END,"");Entrada_7.insert(tk.END,0.00)
Entrada_8.delete(0,tk.END);Entrada_8.insert(tk.END,"");Entrada_8.insert(tk.END,0.00)
Entrada_9.delete(0,tk.END);Entrada_9.insert(tk.END,"");Entrada_9.insert(tk.END,0.00)
Entrada_10.delete(0,tk.END);Entrada_10.insert(tk.END,"");Entrada_10.insert(tk.END,0.00)
Salida_1.delete(0,tk.END);Salida_1.insert(tk.END,"");Salida_1.insert(tk.END,0.00)
def Limpiando():
Entrada_1.delete(0,tk.END);Entrada_1.insert(tk.END,"");Entrada_1.insert(tk.END,0.00)
Entrada_2.delete(0,tk.END);Entrada_2.insert(tk.END,"");Entrada_2.insert(tk.END,0.00)
Entrada_3.delete(0,tk.END);Entrada_3.insert(tk.END,"");Entrada_3.insert(tk.END,0.00)
Entrada_4.delete(0,tk.END);Entrada_4.insert(tk.END,"");Entrada_4.insert(tk.END,0.00)
Entrada_5.delete(0,tk.END);Entrada_5.insert(tk.END,"");Entrada_5.insert(tk.END,0.00)
Entrada_6.delete(0,tk.END);Entrada_6.insert(tk.END,"");Entrada_6.insert(tk.END,0.00)
Entrada_7.delete(0,tk.END);Entrada_7.insert(tk.END,"");Entrada_7.insert(tk.END,0.00)
Entrada_8.delete(0,tk.END);Entrada_8.insert(tk.END,"");Entrada_8.insert(tk.END,0.00)
Entrada_9.delete(0,tk.END);Entrada_9.insert(tk.END,"");Entrada_9.insert(tk.END,0.00)
Entrada_10.delete(0,tk.END);Entrada_10.insert(tk.END,"");Entrada_10.insert(tk.END,0.00)
Salida_1.delete(0,tk.END);Salida_1.insert(tk.END,"");Salida_1.insert(tk.END,0.00)
return
Limpieza = Button(Recuadro_Entradas,activebackground="OliveDrab4",activeforeground="black",background="gray80",disabledforeground="#a3a3a3",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",pady="0",text='''Limpieza''',
command = Limpiando).place(relx = 0.23, rely = 0.80, height=25, width=217)
Octava_Ventana.mainloop()
El código devuelve lo siguiente:
No hay comentarios.:
Publicar un comentario