24-03-2021, 10:26 AM
Buenas aquí sigo con mi app. Esto ya esta muy muy avanzado y claro van surgiendo otras necesidades y otros problemas.
Estoy "empezado" con las clases y tengo este código(Es una prueba, no hagáis caso de los import ya que son para la app):
Bien, todo funciona perfectamente. Con el botón ADD vas añadiendo botones los cuales muetran un número que se va incrementando. Ahora quiero que cada botón una vez pulsado me imprima en el entry el número reflejado en dicho botón.(He pensado que lo mejor y más "pythoniano" para no repetirse es añadir una clase con un método que me permita esto heredando dicho método al pulsar cada botón(No se si me explico bien)
1º Duda: No tengo muy claro dónde tengo que poner la nueva clase (class). Fuera de la principal o dentro.(Lo he probado y no me ha funcionado ninguna. Algo estoy haciendo mal).
Estoy "empezado" con las clases y tengo este código(Es una prueba, no hagáis caso de los import ya que son para la app):
Código:
import tkinter as tk
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
import tkinter.font as tkfont
from functools import partial
import subprocess
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.base import MIMEBase
from email import encoders
import Pmw
class Phone:
def __init__(self):
######## MAIN WINDOW #########
self.win01 = tk.Tk()
self.win01.title('Prueba Botón Llamada')
self.win01.geometry('600x400+0+0')
########## GRAL VARIABLES ###########
self.fila = 0
self.columna = 0
######## GRAL FUNTIONS ##########
def addbot():
self.fila += 1
self.botgr = ttk.Button(self.win01, text='925' + str(self.fila))
self.botgr.grid(row=self.fila, column = 0)
# Entry para imprimir números
self.ent01 = ttk.Entry(self.win01, justify= tk.CENTER, font=("DejaVu Sans Condensed",20,'bold'))
self.ent01.grid(row = 0, column=1)
# Botón para añadir botones.
self.bot01 = ttk.Button(self. win01, command=addbot, text='ADD')
self.bot01.grid(row=0, column = 0, padx=5, pady=5)
self.win01.mainloop()
def main():
myapp = Phone()
if __name__ == '__main__':
main()
Bien, todo funciona perfectamente. Con el botón ADD vas añadiendo botones los cuales muetran un número que se va incrementando. Ahora quiero que cada botón una vez pulsado me imprima en el entry el número reflejado en dicho botón.(He pensado que lo mejor y más "pythoniano" para no repetirse es añadir una clase con un método que me permita esto heredando dicho método al pulsar cada botón(No se si me explico bien)
1º Duda: No tengo muy claro dónde tengo que poner la nueva clase (class). Fuera de la principal o dentro.(Lo he probado y no me ha funcionado ninguna. Algo estoy haciendo mal).