funcion examples eventos etiquetas python tkinter grid pack tkinter-entry

examples - tkinter python 3



¿Usando el cuadro de entrada con Tkinter en el administrador de cuadrĂ­cula? (1)

Estoy tratando de hacer una GUI básica usando Tkinter y tengo un cuadro de entrada al lado de mi etiqueta usando un administrador de Grid, pero la ventana no se muestra cuando ejecuto mi programa si uso .grid () con mi objeto de entrada.

Funciona cuando uso .pack (), lo cual es extraño porque escuché no usar .pack () cuando tengo otras cosas que usan .grid () en el mismo widget. Pero sí quiero usar .grid () porque quiero poder organizarlo como quiero.

El código está debajo, estoy teniendo problemas con Entry object showName. La declaración comentada .pack () es la que funciona, la declaración .grid () es la que no funciona.

¿Alguien sabe qué pasa con esto?

from Tkinter import * class RenamerGUI(): def __init__(self, master): frame = Frame(master) frame.pack() #Make frame visible self.exit = Button(frame, text = "Exit", fg = "red", command = frame.quit) self.csv2tsv = Button(frame, text = "csv2tsv", fg = "green", bg = "black", command=self.csv2tsv) self.epguidestsvFormatter = Button(frame, text = "epguidestsvFormatter", fg = "green", bg = "black", command = self.epguidestsvFormatter) self.epNamesList = Button(frame, text = "epNamesList", fg = "green", bg = "black", command = self.epNamesList) self.SeasonSplitter = Button(frame, text = "SeasonSplitter", fg = "green", bg = "black", command = self.SeasonSplitter) self.Renamer = Button(frame, text = "Renamer", fg = "green", bg = "black", command = self.Renamer) self.showLabel = Label(frame, text = "Show: ") self.showName = Entry(master) self.get = Button(frame, text = "Get", command = self.textgetter) self.exit.grid(row=3, column=4) self.csv2tsv.grid(row=1, column = 0) self.epguidestsvFormatter.grid(row=1, column=1) self.epNamesList.grid(row=1, column=2) self.SeasonSplitter.grid(row=1, column=3) self.Renamer.grid(row=1, column=4) self.showLabel.grid(row=2) self.showName.grid(row=2, column=1) #self.showName.pack(side=BOTTOM)


La entrada tiene el padre incorrecto:

self.showName = Entry(master)

debiera ser

self.showName = Entry(frame)