Files
@ f85a79f2fd95
Branch filter:
Location: OneEye/src/gui/mainwindow.py - annotation
f85a79f2fd95
1.7 KiB
text/x-python
added JSON config file
4b4cae6939e8 d138366bd4bb 4b4cae6939e8 4b4cae6939e8 9fa3f70d50ba 4b4cae6939e8 4b4cae6939e8 4b4cae6939e8 4b4cae6939e8 4b4cae6939e8 4b4cae6939e8 4b4cae6939e8 d138366bd4bb 4b4cae6939e8 4b4cae6939e8 4b4cae6939e8 9fa3f70d50ba 928d9a0edc05 4b4cae6939e8 4b4cae6939e8 9fa3f70d50ba 9fa3f70d50ba 4b4cae6939e8 9fa3f70d50ba 4b4cae6939e8 4b4cae6939e8 d138366bd4bb d138366bd4bb d138366bd4bb 4b4cae6939e8 4b4cae6939e8 4b4cae6939e8 4b4cae6939e8 4b4cae6939e8 4b4cae6939e8 4b4cae6939e8 4b4cae6939e8 4b4cae6939e8 d138366bd4bb d138366bd4bb d138366bd4bb d138366bd4bb 4b4cae6939e8 9fa3f70d50ba 4b4cae6939e8 4b4cae6939e8 4b4cae6939e8 9fa3f70d50ba 4b4cae6939e8 4b4cae6939e8 4b4cae6939e8 9fa3f70d50ba 9fa3f70d50ba 9fa3f70d50ba | import tkinter as tk
from tkinter import N,S,E,W
from .boardview import BoardView
from .imgview import ImgView
class MainWindow(tk.Frame):
def __init__(self,parent,master=None):
self.parent=parent
tk.Frame.__init__(self, master)
self.grid(column=0,row=0,sticky=(N,S,E,W))
self._createWidgets()
def setCurrentFrame(self,frame):
self.imgView.setImg(frame)
def _createWidgets(self):
# a captured frame with overlay graphics
self._imgWrapper=tk.Frame(self,width=480,height=360)
self.imgView=ImgView(self._imgWrapper,self)
self._imgWrapper.grid(column=0,row=0,sticky=(N,S,E,W))
# board with detected stones
self._boardWrapper=tk.Frame(self,width=360,height=360)
self.boardView=BoardView(self._boardWrapper)
self._boardWrapper.grid(column=1,row=0,sticky=(N,S,E,W))
# more controls below the board
self.scaleTresB=tk.Scale(self, orient=tk.HORIZONTAL, length=200, from_=0.0, to=100.0, command=self.refreshTresholds)
self.scaleTresW=tk.Scale(self, orient=tk.HORIZONTAL, length=200, from_=0.0, to=100.0, command=self.refreshTresholds)
self.scaleTresB.set(30.0) # !! proper defaults
self.scaleTresW.set(60.0)
self.scaleTresB.grid(column=0,row=1,columnspan=2)
self.scaleTresW.grid(column=0,row=2,columnspan=2)
self.columnconfigure(0,weight=1)
self.columnconfigure(1,weight=1)
self.rowconfigure(0,weight=1)
# render everything
self.imgView.redraw()
## Redraws the current image and its overlay.
def redrawImgView(self):
self.imgView.redraw()
def refreshTresholds(self,_):
self.parent.sendMsg("setTresholds",tuple(),{"tresB":self.scaleTresB.get(), "tresW":self.scaleTresW.get()})
def sendMsg(self,actionName,args=tuple(),kwargs=None):
self.parent.sendMsg(actionName,args,kwargs)
|