23-08-2021, 03:52 PM
Buenas:
Tengo este pequeño código de prueba:
Bien, el problema es que cuando clickeas cualquiera de los botones el incremento del número se refleja en los dos entrys y debería hacerlo solo en uno de ellos dependiendo del botón que clickeases y no entiendo muy bien el por qué. Son dos variables distintas del tipo IntVar. No lo entiendo.
Muchas Gracias.
Tengo este pequeño código de prueba:
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
class Prueba:
def __init__(self):
###### Ventana Principal #########
self.win = tk.Tk()
self.win.title('PRUEBAS')
self.win.geometry('600x400+100+0')
####### Variables Generales #######
self.num = tk.IntVar()
self.num = 0
self.num01 = tk.IntVar()
self.num01 = 0
####### Listas Generales #########
self.list01 = []
####### Funciones Generales #######
def addnum():
self.list01.append('ELE')
self.ent01.delete(0, tk.END)
self.num += 1
self.ent01.insert(0, self.num)
print(self.list01)
def addnum2():
self.list01.append('ELE1')
self.ent02.delete(0, tk.END)
self.num01 += 1
self.ent02.insert(0, self.num01)
print(self.list01)
def quitar():
try:
self.list01.remove('ELE')
self.num -= 1
self.ent01.delete(0,tk.END)
self.ent01.insert(0, self.num)
except:
pass
print(self.list01)
####### Etiquetas Generales #######
####### Entrys Generales #######
self.ent01 = ttk.Entry(self.win, width=1, textvariable=self.num, font=('Ubuntu', 30))
self.ent01.grid(row=0, column=1, padx=5, pady=5)
self.ent01.insert(0, '0')
self.ent02 = ttk.Entry(self.win, width=1, textvariable=self.num01, font=('Ubuntu', 30))
self.ent02.grid(row=1, column=1, padx=5, pady=5)
self.ent02.insert(0, '0')
####### Botones Generales ##########
self.but01 = ttk.Button(self.win, text='ELE', command=addnum)
self.but01.grid(row=0, column=0, padx=5, pady=5)
self.but02 = ttk.Button(self.win, text='ELE1', command=addnum2)
self.but02.grid(row=1, column=0, padx=5, pady=5)
self.but03 = ttk.Button(self.win, text='-', width=1, command=quitar)
self.but03.grid(row=0, column=2, padx=5, pady=5)
self.win.mainloop()
def main():
myapp = Prueba()
if __name__ == '__main__':
main()
Bien, el problema es que cuando clickeas cualquiera de los botones el incremento del número se refleja en los dos entrys y debería hacerlo solo en uno de ellos dependiendo del botón que clickeases y no entiendo muy bien el por qué. Son dos variables distintas del tipo IntVar. No lo entiendo.
Muchas Gracias.