[Python-es] Algunas cuestiones sobre ventanas
damufo
damufo en gmail.com
Lun Ene 21 16:46:47 CET 2008
Luis Orellana Orihuela escribiu:
> Hola a todos,
>
> Uso un pequeño script en el que se muestra una ventana no modular. El código
> que uso para tal fin lo tomé de la lista (Gracias):
>
>
> class ModelessDialog(Toplevel):
>
> def __init__(self, parent, title = None):
>
> Toplevel.__init__(self, parent)
>
> if parent.winfo_viewable():
> self.transient(parent)
>
> if title:
> self.title(title)
>
> self.parent = parent
>
> body = Frame(self)
> self.body(body)
> body.pack(padx=5, pady=5)
>
> self.buttonbox()
>
> self.protocol("WM_DELETE_WINDOW", self.close)
>
> if self.parent is not None:
> self.geometry("+%d+%d" % (parent.winfo_rootx()+30,
> parent.winfo_rooty()+30))
>
> def body(self, master):
> # hook
> pass
>
> def buttonbox(self):
> # hook; default=[OK]
> box = Frame(self)
> w = Button(box, text="OK", width=10, command=self.close
> ,default=ACTIVE)
> w.pack(side=LEFT, padx=5, pady=5)
> self.bind("<Return>", self.close)
> box.pack()
>
> def close(self, event=None):
> if self.parent is not None:
> self.parent.focus_set()
> self.destroy()
>
> class MessageDialog(ModelessDialog):
>
> def __init__(self, parent, title=None, message=''):
> self.message = message
> ModelessDialog.__init__(self, parent, title)
>
> def body(self, master):
> w = Label(master, text=self.message, justify=LEFT)
> w.grid(row=0, padx=5, sticky=W)
> #-------------------------------------------------------------------------------
>
> No estoy muy familiarizado con la programación de ventanas y querría cambiar
> la apariencia de la ventana que se muestra:
>
> - Actualmente no se muestra centrada, querría que se mostrase
> centrada.
> - No tiene el foco, sale en segundo plano, querría que saliese con el
> foco.
> - Cambiar tamaño de fuente, negritas y tal del mensaje que se muestra
> ...
Para que salga centrada
en el def__init__(self, parent): de la ventana:
self.Center()
>
> No me ha dado tiempo a investigar mucho porque no he tenido tiempo.
> Paralelamente a este mensaje seguiré googleando a ver si soluciono estos
> problemas que apriori parecen sencillos de solventar.
>
> Gracias!
> _______________________________________________
> Lista de correo Python-es
> http://listas.aditel.org/listinfo/python-es
> FAQ: http://listas.aditel.org/faqpyes
>
Más información sobre la lista de distribución Python-es