Ich möchte gerne ein Programm komplett per Tastatur steuerbar machen. Dazu möchte ich Funktionen/Prozeduren per Tastendruck Ausführen.
Mit meinen Recherchen habe ich es geschafft, das Programm auf Tastendruck zu beenden und eine Prozedur aufzurufen, die nur von einem Tastendruck aufgerufen wird "print_help()"
Probleme bereitet mir "open_it()".
So wie im Beispiel unten kann ich "open_it()" mit dem Button aufrufen. Der Aufruf per Tastendruck gibt mir einen Fehler:
Code: Alles auswählen
TypeError: open_it() takes no arguments (1 given)
Hier ein Beispiel das den Fehler produziert:
Code: Alles auswählen
#!/usr/bin/python
# -*- encoding: latin-1 -*-
import sys, os
import tkFileDialog
import Tkinter as tk
def print_help(event):
"""prints programm infos and help into txt_output"""
txt_output.insert(tk.END, " -- Help/Programm Info -- \n\n")
def open_it():
pic_dir = tkFileDialog.askdirectory()
btn_pic_dir["text"] = pic_dir
master = tk.Tk()
btn_pic_dir = tk.Button(master, text = "Picture Directory", command = open_it)
btn_pic_dir.pack()
txt_output=tk.Text(master)
txt_output.pack()
master.bind_all("<Escape>", lambda event: master.destroy() )
master.bind_all("<F1>", print_help)
master.bind_all("<F2>", open_it)
master.mainloop()