Wednesday, 26 July 2017
Tkinter (entradas de texto y botones)
Tuesday, 14 October 2008 12:25

Tkinter (entradas de texto)

Generación de una entrada de texto:

self.entrada1 = Entry(master) # creación

self.entrada1.grid(row=1,column=1) #colocado en la grid

 

Generación de un botón:

self.sumar = Button(master, text="sumar", command= self.sumar) # creación de botón

self.sumar.grid(row=3,column=1) #colocado del botón

 

Modificaciones:

Para una etiqueta:

self.resultado.config(text=str(self.numero3))#coloca el texto deseado

Borrado en una entrada de texto:

self.entrada2.delete(0,last=None)

Cambio de texto en una entrada de texto:

self.entrada2.insert(0, "hola mundo")#cambia o agrega texto a partir de la entrada "0"

 

Recuperar el valor de una entrada de texto:

self.numero2 = float(Entry.get(self.entrada2))

Generación de mensajes:

master.w = Message(master, text="Mensaje para la ventana de grafica")

master.w.grid(row=1, column=0, sticky=N+S+W+E)

Un mensaje puede ser generado a partir del llamado de un botón (evento). en este llamado se genera una instancia que contiene lo deseado en la ventana de mensajes. A continuación se presenta un ejemplo:

def grafica(self):

master = Tk()

master.title("Grafica")

#master.width(100)

master.etiqueta = Label(master, text="Etiqueta")

master.etiqueta.grid(row=0,column=0)

master.w = Message(master, text="Mensaje para la ventana de grafica")

master.w.grid(row=1, column=0, sticky=N+S+W+E)

wbuton = Button(master, text="Salir del programa", command=master.quit)

wbuton.grid(row=2, column=0)

#wbuton.pack()

master.mainloop()

 

 

Ejemplo una aplicación:

#! /usr/bin/env python

from Tkinter import *

 

class GUIFramework(Frame):

 

#******

def sumar(self):

#*********************

self.numero1 = float(Entry.get(self.entrada1))

self.numero2 = float(Entry.get(self.entrada2))

self.numero3 = self.numero1 + self.numero2

self.resultado.config(text=str(self.numero3))

self.entrada2.delete(0,last=None)

self.entrada1.delete(0,last=None)

#****************

def __init__(self,master=None):

#""Initialize"""

Frame.__init__(self,master)

#"Mostrar ventana"""

self.grid()

#inicia el proceso de agregado de widgets

self.HelloLabel = Label(master, text="Una suma!")

self.HelloLabel.grid(row=0, column=1)

self.etiqueta1 = Label(master,text ="Valor de x")

self.etiqueta1.grid(row=1,column=0)

self.entrada1 = Entry(master)

self.entrada1.grid(row=1,column=1)

self.etiqueta2 = Label(master,text="Valor de y")

self.etiqueta2.grid(row=2,column=0)

self.entrada2 = Entry(master)

self.entrada2.grid(row=2, column=1)

self.sumar = Button(master, text="sumar", command= self.sumar)

self.sumar.grid(row=3,column=1)

self.salir = Button(master, text="Salir", command=self.quit)

self.salir.grid(row=5,column=1)

self.resultado = Label(master,text="********", fg="green", bg= "yellow")

self.resultado.grid(row=3,column=3)

 

#*****************************************inicia el main**********

if __name__ == "__main__":

guiFrame = GUIFramework()

guiFrame.mainloop()

La corrida de este programa en geany produce la siguiente salida:

Sumadora de tk


{backbutton}