Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Abrir ventana secundaria (tkinter)
#1
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?
Responder
#2
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
¡No te pierdas nuestro curso oficial en Udemy para aprender Python, bases de datos SQL, orientación a objetos, tkinter y mucho más!

También ofrecemos consultoría profesional de desarrollo en Python para personas y empresas.
Responder
#3
Excelente. Muchas gracias.
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)