viernes, 22 de abril de 2022

Interfaz Gráfica - Viscosidad

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