Foros del Web » Programando para Internet » Python »

cuadro de diálogo

Estas en el tema de cuadro de diálogo en el foro de Python en Foros del Web. Hola buenas, queria pedir un favor, no tengo mucha idea de Python pero estoy tratando de sacar unos ejemplos del libro "Programming in Python 3", ...
  #1 (permalink)  
Antiguo 13/04/2009, 11:23
 
Fecha de Ingreso: abril-2009
Mensajes: 4
Antigüedad: 15 años, 7 meses
Puntos: 0
cuadro de diálogo

Hola buenas,

queria pedir un favor, no tengo mucha idea de Python pero estoy tratando de sacar unos ejemplos del libro "Programming in Python 3", pero al ejecutarlos en IDLE del Python Shell no me saca el cuadro de dialogo que deberia. Alguien puede echarme una mano?

Muchas gracias de antemano a todos :)
  #2 (permalink)  
Antiguo 13/04/2009, 11:52
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 7 meses
Puntos: 839
Respuesta: cuadro de diálogo

¿Cuál es el código? ¿A qué te refieres con cuadro de diálogo? Ya que a no ser que estás usando alguna librería de ventanas lo normal es que se muestre en consola.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 13/04/2009, 12:01
 
Fecha de Ingreso: abril-2009
Mensajes: 4
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: cuadro de diálogo

Es un programa en el que aparece un cuadro de diálogo, utiliza la librería tkinter. Este es parte del código

import tkinter
class MainWindow(tkinter.Frame):
def __init__(self, parent):
super(MainWindow, self).__init__(parent)
self.parent = parent
self.grid(row=0, column=0)
self.principal = tkinter.DoubleVar()
self.principal.set(1000.0)
self.rate = tkinter.DoubleVar()
self.rate.set(5.0)
self.years = tkinter.IntVar()
self.amount = tkinter.StringVar()
principalLabel = tkinter.Label(self, text="Principal $:", anchor=tkinter.W, underline=0)
principalScale = tkinter.Scale(self, variable=self.principal, command=self.updateUi, from_=100, to=10000000, resolution=100, orient=tkinter.HORIZONTAL)
rateLabel = tkinter.Label(self, text="Rate %:", underline=0, anchor=tkinter.W)
rateScale = tkinter.Scale(self, variable=self.rate, command=self.updateUi, from_=1, to=100, resolution=0.25, digits=5, orient=tkinter.HORIZONTAL)
yearsLabel = tkinter.Label(self, text="Years:", underline=0, anchor=tkinter.W)
yearsScale = tkinter.Scale(self, variable=self.years, command=self.updateUi, from_=1, to=50, orient=tkinter.HORIZONTAL)
amountLabel = tkinter.Label(self, text="Amount $", anchor=tkinter.W)
actualAmountLabel = tkinter.Label(self, textvariable=self.amount, relief=tkinter.SUNKEN, anchor=tkinter.E)
principalLabel.grid(row=0, column=0, padx=2, pady=2, sticky=tkinter.W)
principalScale.grid(row=0, column=1, padx=2, pady=2, sticky=tkinter.EW)
rateLabel.grid(row=1, column=0, padx=2, pady=2, sticky=tkinter.W)
rateScale.grid(row=1, column=1, padx=2, pady=2, sticky=tkinter.EW)
yearsLabel.grid(row=2, column=0, padx=2, pady=2, sticky=tkinter.W)
yearsScale.grid(row=2, column=1, padx=2, pady=2, sticky=tkinter.EW)
amountLabel.grid(row=3, column=0, padx=2, pady=2, sticky=tkinter.W)
actualAmountLabel.grid(row=3, column=1, padx=2, pady=2, sticky=tkinter.EW)
principalScale.focus_set()
self.updateUi()
parent.bind("<Alt-p>", lambda *ignore: principalScale.focus_set())
parent.bind("<Alt-r>", lambda *ignore: rateScale.focus_set())
parent.bind("<Alt-y>", lambda *ignore: yearsScale.focus_set())
parent.bind("<Control-q>", self.quit)
parent.bind("<Escape>", self.quit)
def updateUi(self, *ignore):
amount = self.principal.get() * ((1 + (self.rate.get() / 100.0)) ** self.years.get())
self.amount.set("{0:.2f}".format(amount))
def quit(self, event=None):
self.parent.destroy()
application = tkinter.Tk()
path = os.path.join(os.path.dirname(__file__), "images/")
if sys.platform.startswith("win"):
icon = path + "interest.ico"
else:
icon = "@" + path + "interest.xbm"
application.iconbitmap(icon)
application.title("Interest")
window = MainWindow(application)
application.protocol("WM_DELETE_WINDOW", window.quit)
application.mainloop()
  #4 (permalink)  
Antiguo 13/04/2009, 12:30
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 7 meses
Puntos: 839
Respuesta: cuadro de diálogo

Te falta importar os y sys.

Además, es Tkinter y no tkinter (case-sensitive)

P.S.: Por favor, usa [highlight=Python][/highlight] para envolver el código, así será más legible y más usuarios se animarán a revisarlo y tratar de ayudarte.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 13/04/2009, 12:38
 
Fecha de Ingreso: abril-2009
Mensajes: 4
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: cuadro de diálogo

Muchas gracias, aunque he añadido las dos importaciones y sigue sin aparecerme nada.Hay algo más que deba añadir?

y cómo puedo utilizar [hightlight=Python][/highlight] para envolver el código?.

Gracias nuevamente
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:14.