zweistufiges eventhandling
Verfasst: Mittwoch 18. Mai 2005, 14:14
Hallo an alle Hilfsbereiten Programmierexperten,
ich habe folgendes Problem: Um mit Python ein Auswertefile eines FEM- Programmes zu steuern brauche ich eine zweistufige Arbeitsweise. Erstens will ich einen Vorgang aufrufen, Dann innerhalb des Programmes Werte eingeben, dann das Pythonscript weiter ausführen. Dafür habe ich ein Beispiel im Tkinter- Handbuch gefunden, mit welchem ich arbeiten will. Daß wird, so wie ich es verstanden habe über eine .bind funktion realisiert, das bei einem Ereignis eine Funktion def callback... ausgeführt wird. In diese Funktion wollte ich ganz einfach meine Kommandos für die zweite Stufe "hineinmogeln". Ich zeige mal den bisherigen Quelltext:
also in der Funktion main soll der erste Teil erfolgen, dann will ich ein paar Einstellungen vornehmen, und mit einem Mausklick in den Frame soll der zweite Teil fortsetzen.
Leider schickt er mir folgende Fehlermeldung:
Ich danke für jede Hilfe!
ich habe folgendes Problem: Um mit Python ein Auswertefile eines FEM- Programmes zu steuern brauche ich eine zweistufige Arbeitsweise. Erstens will ich einen Vorgang aufrufen, Dann innerhalb des Programmes Werte eingeben, dann das Pythonscript weiter ausführen. Dafür habe ich ein Beispiel im Tkinter- Handbuch gefunden, mit welchem ich arbeiten will. Daß wird, so wie ich es verstanden habe über eine .bind funktion realisiert, das bei einem Ereignis eine Funktion def callback... ausgeführt wird. In diese Funktion wollte ich ganz einfach meine Kommandos für die zweite Stufe "hineinmogeln". Ich zeige mal den bisherigen Quelltext:
Code: Alles auswählen
#!/usr/bin/env python
# -*- encoding: latin-1 -*-
from py_post import *
from py_mentat import *
from Tkinter import *
root=Tk()
def main(fname):
py_send("*set_pathplot_path")
return
def callback(event):
print "a"
py_send("#")
py_send("*pathplot_add")
frame=Frame(root,width=100,height=100)
frame.bind("<Button-1>",callback)
frame.pack()
root.mainloop()
if __name__=='__main__':
py_connect("",40007)
main('/home/tfr002/test/schraegwand2_job2.t16')
Leider schickt er mir folgende Fehlermeldung:
kann mir jemand einen Tip geben oder hat jemand eine andere Möglichkeit? Den Frame erzeugt er problemlos, die Fehlermeldung kommt beim Anklicken des Feldes.Error on send...
Exception in Tkinter callback
Traceback (innermost last):
File ".../ /Tkinter.py, line 764, in __call__
return Apply(self.func,args)
File ".../nodes2.py", line 21, in callback py_send("#")
SystemError: NULL result without error in call_object
Ich danke für jede Hilfe!