Buenas:
Tengo un problema a la hora de interactuar con dos clases.
tengo el siguiente código (es un ejemplo y no hagáis caso a los import porque son de la aplicación que estoy haciendo):
from tkinter import *
from tkinter import ttk
from datetime import *
from tkinter import messagebox
import time
import calendar
import threading
from threading import Timer
import psycopg2
import os
import sys
class A:
def __init__(self):
# MAIN WINDOW
def cambio():
self.boton.configure(style="Esti.TButton")
self.root = Tk()
self.root.title('PRUEBAS')
self.root.geometry('400x400')
estilo = ttk.Style()
estilo.configure("Esti.TButton", background = 'light green')
self.boton = ttk.Button(self.root, text='PRUEBA', command=B)
self.boton.grid(row=0, column=1)
self.root.mainloop()
class B:
def __init__(self):
# MAIN WINDOW
def instanciar():
self.a = A()
self.boton.configure(style="Esti.TButton")
self.top = Toplevel()
self.top.title('A VER')
self.top.geometry('400x400')
self.boton1 = ttk.Button(self.top, text='CAMBIO', command=instanciar)
self.boton1.grid(row=0, column=0)
self.top.mainloop()
def main():
my_app = A()
if __name__ == '__main__':
main()
Todo funciona perfectamente excepto que soy incapaz de hacer que desde la clase B, al pulsar el botón de cambio, me cambie el color del botón de la clase A.
siempre me dice que la clase B no tiene los atributos de A (Lo máximo que he conseguido es instanciar un objeto con la clase A. (Que conste que mediante funciones sin clases es relativamente sencillo hacerlo y que funcione pero no es lo que estoy buscando hacer aunque si no tengo más remedio lo haré.
Alguna idea de como ejecutar comandos desde una clase para interactuar con otra?
Sé que me explico como un libro cerrado.
Tengo un problema a la hora de interactuar con dos clases.
tengo el siguiente código (es un ejemplo y no hagáis caso a los import porque son de la aplicación que estoy haciendo):
from tkinter import *
from tkinter import ttk
from datetime import *
from tkinter import messagebox
import time
import calendar
import threading
from threading import Timer
import psycopg2
import os
import sys
class A:
def __init__(self):
# MAIN WINDOW
def cambio():
self.boton.configure(style="Esti.TButton")
self.root = Tk()
self.root.title('PRUEBAS')
self.root.geometry('400x400')
estilo = ttk.Style()
estilo.configure("Esti.TButton", background = 'light green')
self.boton = ttk.Button(self.root, text='PRUEBA', command=B)
self.boton.grid(row=0, column=1)
self.root.mainloop()
class B:
def __init__(self):
# MAIN WINDOW
def instanciar():
self.a = A()
self.boton.configure(style="Esti.TButton")
self.top = Toplevel()
self.top.title('A VER')
self.top.geometry('400x400')
self.boton1 = ttk.Button(self.top, text='CAMBIO', command=instanciar)
self.boton1.grid(row=0, column=0)
self.top.mainloop()
def main():
my_app = A()
if __name__ == '__main__':
main()
Todo funciona perfectamente excepto que soy incapaz de hacer que desde la clase B, al pulsar el botón de cambio, me cambie el color del botón de la clase A.
siempre me dice que la clase B no tiene los atributos de A (Lo máximo que he conseguido es instanciar un objeto con la clase A. (Que conste que mediante funciones sin clases es relativamente sencillo hacerlo y que funcione pero no es lo que estoy buscando hacer aunque si no tengo más remedio lo haré.
Alguna idea de como ejecutar comandos desde una clase para interactuar con otra?
Sé que me explico como un libro cerrado.