123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- import tkinter as tk
- import tkinter.messagebox
- import time
- import queue
- import gui.graph as Graph
- class MainWindow(tk.Frame):
- def __init__(self, root, up_queue, down_queue,calibration_state):
- self.root = root
- self.calibration_state = calibration_state
- self.down_queue = down_queue
- self.up_queue = up_queue
- tk.Frame.__init__(self, root)
- self.graph = Graph.Graph(self)
- self.graph.pack(fill=tk.BOTH, side=tk.LEFT, expand=True)
- self.controls = tk.Frame(self)
- self.controls.pack(fill=tk.BOTH, side=tk.RIGHT)
- l = tk.Label(self.controls, text="your widgets go here...", anchor="c")
- l.pack(side="top", fill="both", expand=True)
- calibrate_button = tk.Button(self.controls,text="calibrate",command=self.calibrate)
- calibrate_button.pack(side="top")
- self.csString = tk.StringVar()
- cs = tk.Label(self.controls, textvariable=self.csString, anchor="c")
- cs.pack(side="top", fill="both", expand=True)
- def update(self):
- self.graph.update()
- self.csString.set(self.calibration_state.state_clearname())
- self.root.after(30, self.update)
- def calibrate(self):
- self.calibration_state.reset_state()
- tkinter.messagebox.showinfo(title="Calibrate", message="Move gondola to far left corner!")
- self.calibration_state.next_state()
- self.down_queue.put("calibrate")
- while self.calibration_state.return_state() != 3:
- time.sleep(1)
- tkinter.messagebox.showinfo(title="Calibrate", message="Move gondola to far rigth corner!")
- self.calibration_state.next_state()
- while self.calibration_state.return_state() != 7:
- time.sleep(1)
- tkinter.messagebox.showinfo(title="Calibrate",message="Calibration Done!") #display new calibration values?
-
- if __name__ == "__main__":
- root = tk.Tk()
- up_queue = queue.Queue()
- down_queue = queue.Queue()
- root.title("Tracking System")
- view = MainWindow(root,up_queue,down_queue,list())
- view.pack(side="top", fill="both", expand=True)
- view.update()
- root.mainloop()
|