Foros Python

Versión completa: Abrir ventana secundaria (tkinter)
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Buenas, estoy teniendo el inconveniente de que al ejecutar el código, me abre las dos ventanas, la principal y la secundaria al mismo tiempo, sin siquiera pulsar el botón.
No sé cómo corregirlo.
Me he visto el enlace  Ventanas secundarias en Tcl/Tk (tkinter) - Recursos Python, pero creo que el problema viene de combinar la ventana secundaria con el sistema de pestañas.

En fin, he aquí el código de lo que sería la vista:

import tkinter
from tkinter import ttk
import modelo


root = tkinter.Tk()
root.title("Ventanas")

notebook = ttk.Notebook(root)
notebook.pack(fill="both", expand="yes")

pesta0 = tkinter.Frame(notebook, background="#023d75")  # primer pestaña
pesta1 = tkinter.Frame(notebook, background="#023d75")  # segunda pestaña
pesta2 = tkinter.Frame(notebook, background="#023d75")
notebook.add(pesta0, text="Dato1")
notebook.add(pesta1, text="Historia1")
notebook.add(pesta2, text="Dato2")
root.geometry("935x755")

abrir_vtana = ttk.Button(pesta1, text="abrir ventana", command= modelo.vtana())
abrir_vtana.place(x=450, y=420)

root.mainloop()


Y aquí el código del archivo modelo (que es el que contiene la función a la que llama el botón):

from tkinter import *

def vtana():
    ventana_nueva1 = Toplevel()
    ventana_nueva1.geometry("300x200")
    ventana_nueva1.title("Ventana secundaria")


O sea, funciona todo. La ventana principal con sus pestañas y la ventana secundaria. Sólo que ésta última se abre sola al ejecutar nomás la vista, sin apretar siquiera el botón.
¿Cómo se arregla?
Hola, Diego.

Esta línea:

Código:
abrir_vtana = ttk.Button(pesta1, text="abrir ventana", command= modelo.vtana())

Debería ser:

Código:
abrir_vtana = ttk.Button(pesta1, text="abrir ventana", command= modelo.vtana)

Saludos
Excelente. Muchas gracias.