[Python-es] Algunas cuestiones sobre ventanas
Luis Orellana Orihuela
luis.ore.ori en gmail.com
Lun Ene 21 12:24:20 CET 2008
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
...
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!
Más información sobre la lista de distribución Python-es