widgets standard libreria library instalar python tkinter overlay overlap ttk

standard - ¿Cómo superpones widgets/frames en python tkinter?



tkinter python download (1)

La forma de colocar un widget encima de otros widgets es usar el administrador de geometría de place . Puede especificar una coordenada x / y relativa a otro widget, así como especificar anchos y alturas absolutos o relativos.

El sitio de effbot tiene una descripción decente en el administrador de geometría del lugar: http://effbot.org/tkinterbook/place.htm

Aquí hay un ejemplo simple:

import Tkinter as tk class Example(tk.Frame): def __init__(self, parent): tk.Frame.__init__(self, parent) self.text = tk.Text(self, wrap="word") self.vsb = tk.Scrollbar(self, orient="vertical", command=self.text.yview) self.text.configure(yscrollcommand=self.text_yview) self.vsb.pack(side="right", fill="y") self.text.pack(side="left", fill="both", expand=True) # create an info window in the bottom right corner and # inset a couple of pixels self.info = tk.Label(self.text, width=20, borderwidth=1, relief="solid") self.info.place(relx=1.0, rely=1.0, x=-2, y=-2,anchor="se") def text_yview(self, *args): '''''' This gets called whenever the yview changes. For this example we''ll update the label to show the line number of the first visible row. '''''' # first, update the scrollbar to reflect the state of the widget self.vsb.set(*args) # get index of first visible line, and put that in the label index = self.text.index("@0,0") self.info.configure(text=index) if __name__ == "__main__": root = tk.Tk() Example(root).pack(side="top", fill="both", expand=True) root.mainloop()

Me preguntaba si esto es posible. Mi objetivo es tener una pequeña caja blanca en la esquina inferior derecha, encima de un campo de texto más grande. El cuadro blanco se utilizará como un "cuadro de información" mientras la persona se desplaza por el texto dentro del campo de texto.

Cuando digo "campo de texto" me refiero a Texto de tkinter.