Hola buenos días. Esta es mi primera consulta...
Utilizando el código del ejemplo sobre clases, he separado las dos clases: GreetingFrame() y AboutFrame() en dos archivos independientes para aprender a llamarlos desde el archivo main, pero no me funciona bien, solo me llama a la primera clase pero no a la segunda. En el ejemplo original al ejecutar el programa principal aparecen las dos ventanas a la vez.
Por favor, ¿podéis ayudarme a ver si me aclaro? llevo ya tiempo intentándolo y no lo consigo.
Main.py
GreetingFrame.py
AboutFrame.py
Perdon!
el archivo original es este: https://recursospython.com/guias-y-manua...k-tkinter/
Gracias!
Utilizando el código del ejemplo sobre clases, he separado las dos clases: GreetingFrame() y AboutFrame() en dos archivos independientes para aprender a llamarlos desde el archivo main, pero no me funciona bien, solo me llama a la primera clase pero no a la segunda. En el ejemplo original al ejecutar el programa principal aparecen las dos ventanas a la vez.
Por favor, ¿podéis ayudarme a ver si me aclaro? llevo ya tiempo intentándolo y no lo consigo.
Main.py
Código:
import tkinter as tk
from tkinter import ttk
import GreetingFrame
import AboutFrame
class Application(ttk.Frame):
def __init__(self, main_window):
super().__init__(main_window)
main_window.title("Panel de pestañas en Tcl/Tk")
self.notebook = ttk.Notebook(self)
self.greeting_frame =GreetingFrame.GreetingFrame(self.notebook)
self.notebook.add(self.greeting_frame, text="Saludos", padding=10)
self.about_frame = AboutFrame.AboutFrame(self.notebook)
self.notebook.add(self.about_frame, text="Acerca de", padding=10)
self.notebook.pack(padx=10, pady=10)
self.pack()
main_window = tk.Tk()
app = Application(main_window)
GreetingFrame.py
Código:
import tkinter as tk
from tkinter import ttk
class GreetingFrame(ttk.Frame):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.name_entry = ttk.Entry(self)
self.name_entry.pack()
self.greet_button = ttk.Button(
self, text="Saludar", command=self.say_hello)
self.greet_button.pack()
self.greet_label = ttk.Label(self)
self.greet_label.pack()
def say_hello(self):
self.greet_label["text"] = ("¡Hola, {}!".format(self.name_entry.get()))
AboutFrame.py
Código:
import tkinter as tk
from tkinter import ttk
class AboutFrame(ttk.Frame):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.label = ttk.Label(self)
self.label["text"] = ("Visitanos en recursospython.com y ""foro.recursospython.com.")
self.label.pack()
self.web_button = ttk.Button(self, text="Visitar web")
self.web_button.pack(pady=10)
self.forum_button = ttk.Button(self, text="Visitar foro")
self.forum_button.pack()
Perdon!
el archivo original es este: https://recursospython.com/guias-y-manua...k-tkinter/
Gracias!