Files
@ 2bc2ee0a021c
Branch filter:
Location: OneEye/src/gui/mainwindow.py - annotation
2bc2ee0a021c
1.7 KiB
text/x-python
fixed imgview resizing, passing tresholds to analyzer, passing new state to core
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)
|