es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo se inserta una pestaña en un lugar específico en un cuaderno ttk de tkinter?

Me gustaría saber cómo se podría colocar una pestaña de un cuaderno tkinter en un lugar específico. Por ejemplo, tengo esta pestaña que permite clonar otras pestañas, pero quiero que se quede al final. Sin embargo, el código que intenté no parece funcionar, ya que genera un tkinter.TclError: “Índice de esclavo (cualquier número) fuera de límites”.


from tkinter import * from tkinter import ttk, messagebox as msg from widgets.translate import Translator from widgets.explore import FileExplorer root = Tk() root.title('Widgets') tabs = ttk.Notebook(root, width=900, height=350) tabs.pack(fill='both', expand=1, pady=(5, 0)) tr = ttk.Frame(tabs) tr_frame = ttk.Frame(tr) tr_frame.pack(fill=Y) tabs.add(tr, text='Translator') Translator(tr_frame) explorers=0 translators=0 def fileexplore_tab(index=2): global explorers fl_explore = ttk.Frame(tabs) tabs.insert(index, fl_explore, text='File Explorer') FileExplorer(fl_explore) explorers += 1 fileexplore_tab(2) fileexplore_tab(len(tabs.tabs())-1) print(len(tabs.tabs())) root.mainloop()
Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para configurar una pestaña de la libreta tkinter en un lugar específico, puedes utilizar el método insert del objeto Notebook. Por ejemplo, para añadir una pestaña al final de la libreta, puedes utilizar el siguiente código:

    tabs.insert(tabs.index("end"), tab, text="Nombre de la Pestaña")
    

    En el código que proporcionaste, puedes modificar la función fileexplore_tab de la siguiente manera para añadir la pestaña al final de la libreta:

    def fileexplore_tab():
        global explorers
        fl_explore = ttk.Frame(tabs)
        tabs.add(fl_explore, text="Explorador de Archivos")
        FileExplorer(fl_explore)
        explorers += 1
    

    Esto añadirá la pestaña “Explorador de Archivos” al final de la libreta. Ten en cuenta que no es necesario pasar el índice al método insert, ya que por defecto insertará la pestaña al final.

Comments are closed.