Solucionado Violación de segmento usando ScrolledText
Antonio Castro
acastro en ciberdroide.com
Vie Mar 12 17:40:13 CET 2004
On Fri, 12 Mar 2004, Antonio Castro wrote:
> On Thu, 11 Mar 2004, Ernesto Revilla wrote:
>
Bueno pues ya he localizado el fallo. Tanto la vibración
de las ventanas cuando se varia el tamaño de alguna como
la violacion de segmento parecen deberse a que hacía una
operación pack() inadecuada sobre el componente text de
ScrolledText().
> > Hola,
> >
> > como he oído algo de problemas con Tkinter, aquí unos pocos consejos:
> >
> > * si posible, efectuar todas las llamadas a Tkinter desde la misma hebra,
>
> Agradezco la información. lo tendré en cuenta pero en realidad nada
> de lo que indicas parece ser la causa. No hago programacion multihilos.
> Habro una ventana con Toplevel() y en ella uso un ScrolledText. Un
> boton de finalizacion actualiza la variable 'var' que hace que
> waitvar(var) termine y se continua cerrando la ventana pero todo
> se gestiona con el unico mainloop() de la aplicación.
>
> def ShowText(master, title, doctext):
> class ShowTextApp:
> def __init__(self, master, title, doctext):
> self.doctext=doctext
> self.TextPointer=1.0
> self.w = Toplevel(master, class_='Dialog')
> self.w.title(title)
> self.w.iconname('Dialog')
> self.win=ScrolledText(self.w, scrollbar='auto')
......
self.win.text.pack() # <<== Esto Sobraba
self.win.pack()
> .....
> .....
> self.w.waitvar(var)
> self.w.destroy() # <- ??? aleatoriamente. Violación de segmento
Lo suyo sería que al intentar hacer self.win.text.pack() esa operación
diera un error en ese momento y no permitir una situación inestable
y más dificil de depurar.
--
Un saludo
Antonio Castro
/\ /\
\\W//
_|0 0|_
+-oOOO-(___o___)-OOOo---------------------+
| . . . . U U . Antonio Castro Snurmacher |
| . . . . . . . acastro en ciberdroide.com |
+()()()---------()()()--------------------+
Más información sobre la lista de distribución Python-es