das hab ich schlußendlich draus gebastelt um nochmal zu zeigen was ich an funktionalität haben wollte
Code: Alles auswählen
#! /usr/bin/env python
# -*- coding: utf-8
import Tkinter as tk
import threading
import time
from ScrolledText import *
class navpad(object):
def __init__(self):
self.mainForm = tk.Tk()
self.mainFrame = tk.Frame (self.mainForm)
self.mainFrame.grid(row=1,column=0)
self.mainFrame2 = tk.Frame (self.mainForm)
self.mainFrame2.grid(row=0,column=0)
self.textfenster=ScrolledText(self.mainFrame2)
self.textfenster.grid(row=0, column=1)
self.buttonNameHL = tk.Button(self.mainFrame,text='HL',command=None)
self.buttonNameHL.grid(row=1,column=1,sticky= 'nesw')
self.buttonNameHL.bind('<Button-1>',lambda event, name='hoch links': self.button1_press(event, name))
self.buttonNameHL.bind('<ButtonRelease-1>',lambda event, name='hoch links': self.button1_release(event, name))
self.buttonNameHO = tk.Button(self.mainFrame,text='HO',command=None)
self.buttonNameHO.grid(row=1,column=2,sticky= 'nesw')
self.buttonNameHO.bind('<Button-1>',lambda event, name='hoch': self.button1_press(event, name))
self.buttonNameHO.bind('<ButtonRelease-1>',lambda event, name='hoch': self.button1_release(event, name))
self.buttonNameHR = tk.Button(self.mainFrame,text='HR',command=None)
self.buttonNameHR.grid(row=1,column=3,sticky= 'nesw')
self.buttonNameHR.bind('<Button-1>',lambda event, name='hoch rechts': self.button1_press(event, name))
self.buttonNameHR.bind('<ButtonRelease-1>',lambda event, name='hoch rechts': self.button1_release(event, name))
self.buttonNameLI = tk.Button(self.mainFrame,text='LI',command=None)
self.buttonNameLI.grid(row=2,column=1,sticky= 'nesw')
self.buttonNameLI.bind('<Button-1>',lambda event, name='links': self.button1_press(event, name))
self.buttonNameLI.bind('<ButtonRelease-1>',lambda event, name='links': self.button1_release(event, name))
self.buttonNameRE = tk.Button(self.mainFrame,text='RE',command=None)
self.buttonNameRE.grid(row=2,column=3,sticky= 'nesw')
self.buttonNameRE.bind('<Button-1>',lambda event, name='rechts': self.button1_press(event, name))
self.buttonNameRE.bind('<ButtonRelease-1>',lambda event, name='rechts': self.button1_release(event, name))
self.buttonNameRL = tk.Button(self.mainFrame,text='RL',command=None)
self.buttonNameRL.grid(row=3,column=1,sticky= 'nesw')
self.buttonNameRL.bind('<Button-1>',lambda event, name='runter links': self.button1_press(event, name))
self.buttonNameRL.bind('<ButtonRelease-1>',lambda event, name='runter links': self.button1_release(event, name))
self.buttonNameRU = tk.Button(self.mainFrame,text='RU',command=None)
self.buttonNameRU.grid(row=3,column=2,sticky= 'nesw')
self.buttonNameRU.bind('<Button-1>',lambda event, name='runter': self.button1_press(event, name))
self.buttonNameRU.bind('<ButtonRelease-1>',lambda event, name='runter': self.button1_release(event, name))
self.buttonNameRR = tk.Button(self.mainFrame,text='RR',command=None)
self.buttonNameRR.grid(row=3,column=3,sticky= 'nesw')
self.buttonNameRR.bind('<Button-1>',lambda event, name='runter rechts': self.button1_press(event, name))
self.buttonNameRR.bind('<ButtonRelease-1>',lambda event, name='runter rechts': self.button1_release(event, name))
self.mainForm.title("navpad_test")
self.mainForm.mainloop()
def button1_press(self, event, name):
self.flag = True
self.thread = threading.Thread(target=self.workThread, args=(name, ))
self.thread.start()
def button1_release(self, event, name):
self.flag = False
def workThread(self,name):
count = 0
while self.flag:
outtxt = name+ ":(" +str(count) +" X)"+"\n"
self.textfenster.insert(0.0, outtxt)
time.sleep(0.05)
count +=1
self.textfenster.delete('1.0',END)
navpad()
PS (@wuf): ich benutze ubuntu + gedit als editor. Irgendwas scheint mit den Einrückungen nicht zu stimmen, wenn ich den code hier in einfüge:(