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:
- 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.