2016-04-08 3 views
1

Ich benutze MonkeyRunner mit Jython-Standalone-2.5.4-rc1,Detect Eingabetastatur mit Jython, MonkeyRunner und jTkinter

So würde Ich mag die Ereignisse der Tastatur erkennen, Ich weiß, das mit Tkinter möglich ist:

import Tkinter as tk 

def onKeyPress(event): 
    text.insert('end', 'You pressed %s\n' % (event.char,)) 
    print 'keypress', event.char 
root = tk.Tk() 
root.geometry('300x200') 
text = tk.Text(root, background='black', foreground='white', font=('Comic Sans MS', 12)) 
text.pack() 
root.bind('<KeyPress>', onKeyPress) 
root.mainloop() 

So verwende ich jTkinter aber er legte mir einen Fehler (ich nur die librairie ändern)

import jTkinter as tk 
... 

und ich bekomme diese Fehlermeldung:

root = tk.Tk() 
AttributeError: 'javapackage' object has no attribute 'Tk' 

Wie kann ich es tun? Danke

+0

Sie müssen eher 'importieren Tkinter als tk' unter' jython' –

+0

Ich habe versucht, aber die Bibliothek nicht gefunden ImportError: Kein Modul namens Tkinter – Hugo

+0

jTkinter ist alt. Seit 15 Jahren ist nichts passiert: http://jtkinter.cvs.sourceforge.net/viewvc/jtkinter/jTkinter/. Ich bin nicht überrascht, dass es schwer ist, es zum Laufen zu bringen. – mzjn

Antwort

0

Sie haben nicht gesagt, was Sie wollen mit den wichtigsten Ereignissen, ich denke, Sie möchten sie an ein Android-Gerät senden.

Dann was Sie versuchen zu erreichen ist fast genau das, was AndroidViewClient/culebra tut. Schauen Sie sich die Beispiele an, hauptsächlich die unter Culebra GUI. Möglicherweise müssen Sie nur culebra -G ausführen und alle (die meisten) Ihrer Schlüsselereignisse werden an das Gerät gesendet.

Wenn dies nicht das ist, was Sie versuchen, zumindest gibt es Ihnen möglicherweise eine bessere Idee, wie die Benutzeroberfläche Tkinter verwendet.