123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201 |
- import sys
- import os
- event_que = []
- print( os.getcwd())
- try:
- import lib.zchat as chat
- print(sys.path)
- except ModuleNotFoundError:
- sys.path.insert(0,os.path.dirname(__file__)+"/.." )
- print(sys.path)
- import lib.zchat as chat
- import tkinter as tk
- value = 1
- data = []
- class Event():
- def __init__(self,name):
- self.name=name
- print("init",self)
- def event(self,event):
- global value
- global event_que
-
-
- lock.acquire_lock()
-
- t = str(time.time())[8:]
- event_que.append([t,self,event])
- lock.release()
- if int(event.type) == 4:
- if event.num == 4:
- value +=1
- if event.num == 5:
- value -=1
-
- for e in data:
- t = e["text"]
- if ":" in t:
- t = t.split(":")[0]
- e["text"] = t +": "+ str(value)
-
- class scroll():
- def __init__(self,canvas):
- self.canvas=canvas
- def config(self,event):
- canvas = self.canvas
- canvas.configure(scrollregion=canvas.bbox("all"))
- def ScrollFrame(root,width=50,height=100,bd=1,bg="black",scrollbar="xy"):
- _scrollbar = scrollbar
-
- aframe=tk.Frame(root,relief=tk.GROOVE)
-
- aframe.pack(side="top",fill="both",expand=1)
- canvas=tk.Canvas(aframe,width=width-24,height=10)
- if bg == "":
- bg="orange"
- canvas["bg"] = bg
- bframe=tk.Frame(canvas,width=width,height=height)
- bframe["bg"] = "blue"
- scrollbar_y=tk.Scrollbar(aframe,orient="vertical",command=canvas.yview,width=20)
- canvas.configure(yscrollcommand=scrollbar_y.set)
- scrollbar_x=tk.Scrollbar(aframe,orient="horizontal",command=canvas.xview,width=20)
- canvas.configure(xscrollcommand=scrollbar_x.set)
- if "x" in _scrollbar:
- scrollbar_x.pack(side="bottom",fill="x")
- if "y" in _scrollbar:
- scrollbar_y.pack(side="right",fill="y")
- canvas.pack(side="left",expand=1,fill="both")
- canvas.create_window((0,0),window=bframe,anchor='nw')
- bframe.bind("<Configure>",scroll(canvas).config)
- canvas.bind("<Button>",Event("XXX").event)
- canvas.bind("<Key>",Event("XXX").event)
- canvas.bind("<KeyRelease>",Event("XXX").event)
- return bframe
- root = tk.Tk()
- root.wm_title("Fixture Editor")
- i=0
- aframe = tk.Frame(root,height=10)
- aframe.pack(side="top",expand=0,fill="both")
- aframe.bind("<Button>",Event("H:{}".format(i)).event)
- aframe.bind("<Key>" ,Event("H:{}".format(i)).event)
- aframe.bind("<KeyRelease>",Event("H:{}".format(i)).event)
- i=0
- l = tk.Button(aframe,text="MENUE ".format(i+1))
- l.grid(row=i,column=0)
- aframe = tk.Frame(root,height=5,bg="#333")
- aframe.pack(side="top",expand=0,fill="x")
- xframe = ScrollFrame(root,width=300,height=300,scrollbar="xy")
- i=0
- for x in range(40):
- for y in range(10):
- l = tk.Button(xframe,text="Eintrag {}: 0".format(i+1),width=12)
- l.bind("<Button>",Event(" B1:{}".format(i)).event)
-
-
- data.append(l)
- l.grid(row=x,column=y)
- i+=1
- aframe = tk.Frame(root,height=5,bg="#333")
- aframe.pack(side="top",expand=0,fill="x")
- bframe = tk.Frame(root )
- bframe.pack(side="top",expand=0,fill="both")
- bframe.bind("<Button>",Event("B:{}".format(i)).event)
- bframe.bind("<Key>" ,Event("B:{}".format(i)).event)
- bframe.bind("<KeyRelease>",Event("B:{}".format(i)).event)
- i=1
- l = tk.Button(bframe,text="STATUS BAR {}".format(i+1))
- l.grid(row=i,column=0)
- import _thread as thread
- import time
- _start = time.time()
- def loop():
- global event_que
- time.sleep(1)
- c = chat.Client(port=51111)
- i=0
- while 1:
- lock.acquire_lock()
-
- _event_que = event_que[:]
- event_que = []
- lock.release()
-
- for i in _event_que:
- t = str(time.time())[7:]
- t = float(t)
- print(i)
- t1 = float(i[0])
- print("d:",round(t1-t,3))
- c.send(str(i[0]).encode("ascii"))
-
-
-
-
-
-
-
-
-
- time.sleep(0.02)
- thread.start_new_thread(loop,())
- lock = thread.allocate_lock()
- if 1:
-
- print(lock.locked())
- lock.acquire_lock()
- print(lock.locked())
- lock.release()
- print(lock.locked())
- root.geometry("400x500")
- root.mainloop()
|