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.