Buenas:
Os pongo el código de la prueba que estoy realizando primero para que quede más claro.(Una vez más ni caso de los import).
from tkinter import *
from tkinter import ttk
from datetime import *
from tkinter import messagebox
import time
import calendar
import psycopg2
import threading
from threading import Timer
import os
import sys
from functools import partial
import tkinter.font as tkfont
class Appprueba:
def __init__(self):
class Imprimir:
def imp():
print(ttk.Button().cget('text')) # Esto no da error pero tampoco imprime nada solo un espacio vacío.
def imp1():
print('Probando las clases')
self.prin = Tk()
self.prin.title("PRUEBA CLASS")
self.prin.geometry('800x600+500+200')
self.prin.resizable(False, False)
self.button1 = ttk.Button(self.prin, text='20190725', command=Imprimir.imp)
self.button1.grid(row=0, column=0, padx=5)
self.button2 = ttk.Button(self.prin, text='20198968', command=Imprimir.imp1)
self.button2.grid(row=1, column=0, padx=5)
self.prin.mainloop()
def main():
my_app = Appprueba()
if __name__ == '__main__':
main()
Bien en ese código tengo una app con dos botones dentro de la cual e incluido una clase que a su vez dispone de distintos métodos/funciones. Todo funciona correctamente a excepción del primer método de la clase imprimir. (Funciona perfectamente si el código fuera:
def imp():
print(self.button1.cget('text'))
Pero esto solo sirve para el botón 1 y yo lo que quiero es un método que pueda utilizar para todos los botones que vaya incluyendo en la app sin tener que crear una función con la variable específica para cada botón de la app.
¿Es esto posible?. ¿Es posible identificar los widgets en Tkinter?. Así quizá también resolvería mi problema con los datos de los entrys de los notebook que ya expuse en otro post ya que si puedo indicarle al program que texto de que widget es el que quiero añadir a la lista solucionaría mi problema. (Eso creo).
Muchas Gracias.
Os pongo el código de la prueba que estoy realizando primero para que quede más claro.(Una vez más ni caso de los import).
from tkinter import *
from tkinter import ttk
from datetime import *
from tkinter import messagebox
import time
import calendar
import psycopg2
import threading
from threading import Timer
import os
import sys
from functools import partial
import tkinter.font as tkfont
class Appprueba:
def __init__(self):
class Imprimir:
def imp():
print(ttk.Button().cget('text')) # Esto no da error pero tampoco imprime nada solo un espacio vacío.
def imp1():
print('Probando las clases')
self.prin = Tk()
self.prin.title("PRUEBA CLASS")
self.prin.geometry('800x600+500+200')
self.prin.resizable(False, False)
self.button1 = ttk.Button(self.prin, text='20190725', command=Imprimir.imp)
self.button1.grid(row=0, column=0, padx=5)
self.button2 = ttk.Button(self.prin, text='20198968', command=Imprimir.imp1)
self.button2.grid(row=1, column=0, padx=5)
self.prin.mainloop()
def main():
my_app = Appprueba()
if __name__ == '__main__':
main()
Bien en ese código tengo una app con dos botones dentro de la cual e incluido una clase que a su vez dispone de distintos métodos/funciones. Todo funciona correctamente a excepción del primer método de la clase imprimir. (Funciona perfectamente si el código fuera:
def imp():
print(self.button1.cget('text'))
Pero esto solo sirve para el botón 1 y yo lo que quiero es un método que pueda utilizar para todos los botones que vaya incluyendo en la app sin tener que crear una función con la variable específica para cada botón de la app.
¿Es esto posible?. ¿Es posible identificar los widgets en Tkinter?. Así quizá también resolvería mi problema con los datos de los entrys de los notebook que ya expuse en otro post ya que si puedo indicarle al program que texto de que widget es el que quiero añadir a la lista solucionaría mi problema. (Eso creo).
Muchas Gracias.