Hola, en el siguiente código al iniciar el programa se imprimen tres datos (el mismo dato que está en el archivo num.txt) que deberían imprimirse sólo si hago click en “Gastos”, “Viáticos”, o “Viáticos Múltiples”.
Por qué sucede ésto? estoy llamando mal a las funciones? GRACIAS!
import tkinter as tk
from os import path
def numero():
directorio = path.dirname(path.abspath(__file__))
archivo = path.join(directorio,"num.txt")
datos = open(archivo)
num = datos.read()
print(num)
datos.close()
def gastos():
numero()
def viaticos():
numero()
def viatimulti():
numero()
def leer():
pass
def cambiar():
pass
def imprimir():
pass
def fildeta():
pass
def filjusti():
pass
def filsoli():
pass
def filpreun():
pass
def filpreto():
pass
#ventana principal
ventana=tk.Tk()
ventana.title("programa - v0.2")
ventana.geometry('+0+0')
ventana.geometry('800x600')
ventana.resizable(False, False)
#barra de menu
barra_menus = tk.Menu()
menu_archivo = tk.Menu(barra_menus, tearoff=False)
barra_menus.add_cascade(menu=menu_archivo, label="Archivo")
menu_nuevo = tk.Menu(menu_archivo, tearoff=False)
menu_nuevo.add_command(label="Gastos", accelerator="Ctrl+G", compound=tk.LEFT)
ventana.bind_all("<Control-g>", gastos())
menu_nuevo.add_separator()
menu_nuevo.add_command(label="Viáticos", accelerator="Ctrl+V", compound=tk.LEFT)
ventana.bind_all("<Control-v>", viaticos())
menu_nuevo.add_separator()
menu_nuevo.add_command(label="Viáticos Múltiples", accelerator="Ctrl+M", compound=tk.LEFT)
ventana.bind_all("<Control-m>", viatimulti())
menu_abrir = tk.Menu(menu_archivo, tearoff=False)
menu_abrir.add_command(label="Visualizar", accelerator="Ctrl+L", compound=tk.LEFT)
ventana.bind_all("<Control-l>", leer())
menu_abrir.add_separator()
menu_abrir.add_command(label="Modificar", accelerator="Ctrl+C", compound=tk.LEFT)
ventana.bind_all("<Control-c>", cambiar())
menu_abrir.add_separator()
menu_filtrar = tk.Menu(menu_abrir, tearoff=False)
menu_filtrar.add_command(label="Detalle", accelerator="Ctrl+D", compound=tk.LEFT)
ventana.bind_all("<Control-d>", fildeta())
menu_filtrar.add_separator()
menu_filtrar.add_command(label="Justificación", accelerator="Ctrl+J", compound=tk.LEFT)
ventana.bind_all("<Control-j>", filjusti())
menu_filtrar.add_separator()
menu_filtrar.add_command(label="Solicitante", accelerator="Ctrl+S", compound=tk.LEFT)
ventana.bind_all("<Control-s>", filsoli())
menu_filtrar.add_separator()
menu_filtrar.add_command(label="Precio Unitario", accelerator="Ctrl+U", compound=tk.LEFT)
ventana.bind_all("<Control-u>", filpreun())
menu_filtrar.add_separator()
menu_filtrar.add_command(label="Precio Total", accelerator="Ctrl+T", compound=tk.LEFT)
ventana.bind_all("<Control-t>", filpreto())
#menu_filtrar.add_separator()
# colocar acá todos los filtros que se deseen para establecer el resumen
menu_archivo.add_cascade(menu=menu_nuevo, label="Nevo Pedido...")
menu_archivo.add_separator()
menu_archivo.add_cascade(menu=menu_abrir, label="Abrir Pedido...")
menu_archivo.add_separator()
menu_archivo.add_command(label="Salir", command=ventana.destroy)
menu_abrir.add_cascade(menu=menu_filtrar, label="Filtrar por...")
ventana.config(menu=barra_menus)
ventana.mainloop()