def about_dialog(): win = tk.Toplevel() win.title("About") win.configure(bg="#e7e7e7") win.resizable(0,0) img = ImageTk.PhotoImage(Image.open("app.gif").resize((128, 128), Image.ANTIALIAS)) icon = ttk.Label(win, image=img) icon.image = img name = ttk.Label(win, text="Open Source Synology Cloud Sync Decryption Tool", font="San\ Francisco 14 bold") copytext = "© " + str(datetime.datetime.now().year) + " - Created by Anojh Thayaparan" author = ttk.Label(win, text=copytext) license = tk.Text(win, height=8, width=31, font="San\ Francisco 12", wrap='word') license.insert("1.0", "\nLICENSE:\n This app is provided as is to the user, without any liabilities, warranties or guarantees from the author. Any damages arising from use or misuse of the software is not a liability of the author.\nFor more information refer to the COPYRIGHTS file shipped with the application.") license.tag_config("center", justify='center') license.tag_add("center", "1.0", "end") license.config(state='disabled', highlightbackground='grey', highlightcolor='grey', borderwidth=1, highlightthickness=1) support = ttk.Button(win, text="Support", command=lambda: open_url("https://github.com/anojht/synology-cloud-sync-decrypt-tool/issues")) donate = ttk.Button(win, text="Donate", command=lambda: open_url("https://www.paypal.me/Anojh")) icon.grid(row=0, column=1, padx=10) name.grid(row=1, column=1, padx=10) author.grid(row=2, column=1) license.grid(row=3, column=1, pady=10) donate.grid(row=4, column=1, padx=(0,80), pady=(0,5)) support.grid(row=4, column=1, padx=(90,0), pady=(0,5))
def __init__(self, parent, title=None): Tk.Frame.__init__(self, parent) self.parent = parent if title == None: title = "tk_vlc" self.parent.title(title) # Menu Bar # File Menu menubar = Tk.Menu(self.parent) self.parent.config(menu=menubar) fileMenu = Tk.Menu(menubar) fileMenu.add_command(label="Open", underline=0, command=self.OnOpen) fileMenu.add_command(label="Exit", underline=1, command=_quit) menubar.add_cascade(label="File", menu=fileMenu) # The second panel holds controls self.player = None self.videopanel = ttk.Frame(self.parent) self.canvas = Tk.Canvas(self.videopanel).pack(fill=Tk.BOTH,expand=1) self.videopanel.pack(fill=Tk.BOTH,expand=1) ctrlpanel = ttk.Frame(self.parent) pause = ttk.Button(ctrlpanel, text="Pause", command=self.OnPause) play = ttk.Button(ctrlpanel, text="Play", command=self.OnPlay)
def __init__(self, win): ttk.Frame.__init__(self, win) frame_left = ttk.Frame(self) frame_right1 = ttk.Frame(self) frame_right2 = ttk.Frame(self) win.title("车牌识别") win.state("zoomed") self.pack(fill=tk.BOTH, expand=tk.YES, padx="10", pady="10") frame_left.pack(side=LEFT, expand=1, fill=BOTH) frame_right1.pack(side=TOP, expand=1, fill=tk.Y) frame_right2.pack(side=RIGHT, expand=0) ttk.Label(frame_left, text='原图:').pack(anchor="nw") ttk.Label(frame_right1, text='形状定位车牌位置:').grid(column=0, row=0, sticky=tk.W) from_pic_ctl = ttk.Button(frame_right2, text="来自图片", width=20, command=self.from_pic) from_vedio_ctl = ttk.Button(frame_right2, text="来自摄像头", width=20, command=self.from_vedio) from_img_pre = ttk.Button(frame_right2, text="查看形状预处理图像", width=20, command=self.show_img_pre) self.image_ctl = ttk.Label(frame_left) self.image_ctl.pack(anchor="nw") self.roi_ctl = ttk.Label(frame_right1) self.roi_ctl.grid(column=0, row=1, sticky=tk.W) ttk.Label(frame_right1, text='形状定位识别结果:').grid(column=0, row=2, sticky=tk.W) self.r_ctl = ttk.Label(frame_right1, text="", font=('Times', '20')) self.r_ctl.grid(column=0, row=3, sticky=tk.W) self.color_ctl = ttk.Label(frame_right1, text="", width="20") self.color_ctl.grid(column=0, row=4, sticky=tk.W) from_vedio_ctl.pack(anchor="se", pady="5") from_pic_ctl.pack(anchor="se", pady="5") from_img_pre.pack(anchor="se", pady="5") ttk.Label(frame_right1, text='颜色定位车牌位置:').grid(column=0, row=5, sticky=tk.W) self.roi_ct2 = ttk.Label(frame_right1) self.roi_ct2.grid(column=0, row=6, sticky=tk.W) ttk.Label(frame_right1, text='颜色定位识别结果:').grid(column=0, row=7, sticky=tk.W) self.r_ct2 = ttk.Label(frame_right1, text="", font=('Times', '20')) self.r_ct2.grid(column=0, row=8, sticky=tk.W) self.color_ct2 = ttk.Label(frame_right1, text="", width="20") self.color_ct2.grid(column=0, row=9, sticky=tk.W) self.predictor = predict.CardPredictor() self.predictor.train_svm()
def __init__(self, parent, title=None): Tk.Frame.__init__(self, parent) self.parent = parent if title == None: title = "tk_vlc" self.parent.title(title) menubar = Tk.Menu(self.parent) self.parent.config(menu=menubar) fileMenu = Tk.Menu(menubar) fileMenu.add_command(label="Open", underline=0, command=self.OnOpen) fileMenu.add_command(label="Exit", underline=1, command=_quit) menubar.add_cascade(label="File", menu=fileMenu) self.media_list_player = None self.videopanel = ttk.Frame(self.parent) self.canvas = Tk.Canvas(self.videopanel).pack(fill=Tk.BOTH, expand=1) self.videopanel.pack(fill=Tk.BOTH, expand=1) ctrlpanel = ttk.Frame(self.parent) pause = ttk.Button(ctrlpanel, text="Pause", command=self.OnPause) play = ttk.Button(ctrlpanel, text="Play", command=self.OnPlay) stop = ttk.Button(ctrlpanel, text="Stop", command=self.OnStop) next = ttk.Button(ctrlpanel, text="Next", command=self.OnSkip) volume = ttk.Button(ctrlpanel, text="Volume", command=self.OnSetVolume) pause.pack(side=Tk.LEFT) play.pack(side=Tk.LEFT) stop.pack(side=Tk.LEFT) next.pack(side=Tk.LEFT) volume.pack(side=Tk.LEFT) self.volume_var = Tk.IntVar() self.volslider = Tk.Scale(ctrlpanel, variable=self.volume_var, command=self.volume_sel, from_=0, to=100, orient=Tk.HORIZONTAL, length=100) self.volslider.pack(side=Tk.LEFT) ctrlpanel.pack(side=Tk.BOTTOM) ctrlpanel2 = ttk.Frame(self.parent) self.scale_var = Tk.DoubleVar() self.timeslider_last_val = "" self.timeslider = Tk.Scale(ctrlpanel2, variable=self.scale_var, command=self.scale_sel, from_=0, to=1000, orient=Tk.HORIZONTAL, length=500) self.timeslider.pack(side=Tk.BOTTOM, fill=Tk.X, expand=1) self.timeslider_last_update = time.time() ctrlpanel2.pack(side=Tk.BOTTOM, fill=Tk.X) self.media_list = vlc.MediaList() self.timer = ttkTimer(self.OnTimer, 1.0) self.timer.start() self.parent.update()
def __init__(self): Tk.__init__(self) ttk.Style(self).configure('TButton', font=('Arial', 12), anchor=W) self.icp = PhotoImage(file='cadastrarpecas.png', master=self) self.icc = PhotoImage(file='cadastrarchapas.png', master=self) self.ico = PhotoImage(file='iconfiguracoes.png', master=self) self.ipc = PhotoImage(file='gerarplanocorte.png', master=self) self.botao1 = ttk.Button(self, text=' Cadastrar Peças', width=17, command=self.inserirpecas, image=self.icp, compound=LEFT) self.botao2 = ttk.Button(self, text=' Cadastrar Chapas', width=17, command=self.inserirchapas, image=self.icc, compound=LEFT) self.botao3 = ttk.Button(self, text=' Configurações', width=17, command=self.conf, image=self.ico, compound=LEFT) self.botao4 = ttk.Button(self, text=' Gerar Plano de Corte', width=17, command=self.plano, image=self.ipc, compound=LEFT) self.botao1.grid(row=0, column=0) self.botao2.grid(row=1, column=0) self.botao3.grid(row=2, column=0) self.botao4.grid(row=3, column=0) self.cpecas = sqlite3.connect('pecas.db') self.cp = self.cpecas.cursor() self.cp.execute( 'CREATE TABLE IF NOT EXISTS pecas (id text, comprimento real, largura real, quantidade real, area real)' ) self.cchapas = sqlite3.connect('chapas.db') self.cc = self.cchapas.cursor() self.cc.execute( 'CREATE TABLE IF NOT EXISTS chapas (id text, comprimento real, largura real, quantidade real, area real)' ) self.cconfig = sqlite3.connect('configuracoes.db') self.cco = self.cconfig.cursor() self.cco.execute( 'CREATE TABLE IF NOT EXISTS configuracoes (iteracoes int, alfa real, aprovmin real, tempo real, esp real)' )
def _createWidgets(self): self.plot_area = ttk.Frame(self) self.plot_area.pack(side='top', fill="both") self.user_area = ttk.Frame(self) self.user_area.pack(side='bottom', fill='x') # plot stuff # TODO add a second yaxis for RH # TODO add a nice style: http://matplotlib.org/examples/style_sheets/plot_fivethirtyeight.html fig = Figure() canvas = FigureCanvasTkAgg(fig, self.plot_area) canvas.draw() toolbar = NavigationToolbar2TkAgg(canvas, self.plot_area) toolbar.update() toolbar.pack(side="top") canvas.get_tk_widget().pack(side="top", fill="both", expand=True) graph = fig.add_subplot(1, 1, 1) graph.set_ylabel("Temperature $^\circ C$", size=18) graph.set_ylim(-20, 80) graph.grid() # buttons and labels stuff ## buttons self.buttons_area = ttk.Frame(self.user_area) self.buttons_area.pack(side='right', fill='y') self.buttons_area.rowconfigure(0, weight=1, uniform=1) self.buttons_area.rowconfigure(1, weight=1, uniform=1) self.startButton = ttk.Button(self.buttons_area, text='Start') self.stopButton = ttk.Button(self.buttons_area, text='Stop', command=self.quit) self.startButton.grid(row=0) self.stopButton.grid(row=1) ## labels self.labels_area = ttk.Frame(self.user_area) self.labels_area.pack(side='left', fill='y') self.TempLabel = ttk.Label(self.labels_area, text=u"Current Temperature:") self.HumLabel = ttk.Label(self.labels_area, text=u"Current Humidity:") self.TempLabel.grid(row=0, sticky='W') self.HumLabel.grid(row=1, sticky='W') self.lastTempLabel = ttk.Label(self.labels_area, textvariable=self.lastTemperature) self.lastHumLabel = ttk.Label(self.labels_area, textvariable=self.lastHumidity) self.lastTempLabel.grid(row=0, column=1, sticky='W') self.lastHumLabel.grid(row=1, column=1, sticky='W')
def Mouse_wheel(self,event): global r1 if event.delta==-120 and self.count>=0: self.count-=self.sens self.desenho(self.chapas[r1],r1) self.bt5.grid_forget() self.bt5 = ttk.Button(self,command=partial(Gerarpdf.ifgerarpdf,self.solucao,self.chapas,0,self.esp,self.count,self.sens),image=self.ipdf) self.bt5.grid(row=0,column=2) if event.delta==120: self.count+=self.sens self.desenho(self.chapas[r1],r1) self.bt5.grid_forget() self.bt5 = ttk.Button(self,command=partial(Gerarpdf.ifgerarpdf,self.solucao,self.chapas,0,self.esp,self.count,self.sens),image=self.ipdf) self.bt5.grid(row=0,column=2)
def __place_widgets(self): # header frame and its widgets hframe = ttk.Frame(self) lbtn = ttk.Button(hframe, style='L.TButton', command=self._prev_month) rbtn = ttk.Button(hframe, style='R.TButton', command=self._next_month) self._header = ttk.Label(hframe, width=15, anchor='center') # the calendar self._calendar = ttk.Treeview(self, show='', selectmode='none', height=7) # pack the widgets hframe.pack(in_=self, side='top', pady=4, anchor='center') lbtn.grid(in_=hframe) self._header.grid(in_=hframe, column=1, row=0, padx=12) rbtn.grid(in_=hframe, column=2, row=0) self._calendar.pack(in_=self, expand=1, fill='both', side='bottom')
def session(): wsession = tk.Toplevel(gui) ttk.Label(wsession, text="Session time (in sec): ").pack() stimeinput = ttk.Entry(wsession, width=10) stimeinput.insert(tk.END, str(sessiontime)) stimeinput.pack() ttk.Label(wsession, text="Break time (in sec): ").pack() btimeinput = ttk.Entry(wsession, width=10) btimeinput.insert(tk.END, str(breaktime)) btimeinput.pack() def done(): global sessiontime, stime_min, stime_sec, onesec, breaktime, btime_min, btime_sec sessiontime = int(stimeinput.get()) stime_min = sessiontime // 60 stime_sec = sessiontime % 60 onesec = 360 / sessiontime breaktime = int(btimeinput.get()) btime_min = breaktime // 60 btime_sec = breaktime % 60 wsetting() ttk.Button(wsession, text="Ok!", command=done).pack() ttk.Label(wsession, text="_________________________________").pack() btn1 = AskButtons(wsession, "Advanced settings?", 0) #btn2 = AskButtons(wsession, "Unlimited session time?", 1) # Don't enable this! btn3 = AskButtons(wsession, "Disable breaktime?", 2)
def _init_view(self): """Método de creación de vista. En este método es donde realmente se genera la vista de la, ventana pues es donde se crean todos los widgets y se colocán, en su lugar correspondiente. """ # Creamos el marco self._principal_frame = ttk.Frame(self._window.get(), padding="3 3 12 12") # El marco está en la posición 0,0 de la ventana en el centro self._principal_frame.grid(column=0, row=0, sticky='NSEW') # cantidad de columnas que tiene el marco self._principal_frame.columnconfigure(0, weight=1) # cantidad de filas que tiene el marco self._principal_frame.rowconfigure(0, weight=1) # crea bóton dentro de marco self.b_back = ttk.Button(self._principal_frame, text="Atras") # ponemos en la posición 0,0 y que se expanda a SurEste self.b_back.grid(column=7, row=7, sticky='SE') # agregamos el comando del bóton # FIXME: Arreglar el botón hacia atras para volver a la vista anterior self.b_back.bind("<Button>", self._controller.back) self._add_menu("MenuVista2") self._add_item_menu("MenuVista2", "Prueba", self._controller.back)
def create_button(self, parent, text, callback): """Añade un bóton a la ventana. Con esto añadimos un bóton en la ventana en la posición que se, indique por el numero que hay en el segundo párametro. """ button = ttk.Button(parent, text=text, command=callback) button.grid(row=6, column=6)
def __init__(self, parent, parameters=None): ttk.Frame.__init__(self, parent) self.Parameters = utils.Parameters() self.OnCloseCallback = self.CloseStub # self.SourceOptions = self.Parameters.SourceOptions if parameters is not None: self.Parameters = parameters self.WidgetHolder = WidgetHolder() frame = ttk.Frame(self, borderwidth=5, relief='sunken', width=self.Parameters.MinWidth, height=self.Parameters.MinHeight) widgetholder = self.WidgetHolder button = ttk.Button(self, text='Apply', command=self.OnSettingsApply) button2 = ttk.Button(self, text='Cancel', command=self.OnSettingsBack) widgetholder.AddVariableLabel(self, 'range') widgetholder.AddVariableLabel(self, 'startlabel') widgetholder.Data['startlabel'].set('Start') widgetholder.Data['range'].set('Time Series Range Limit [{0}]'.format( self.Parameters.TimeAxisVariable)) widgetholder.AddEntry(self, 'cutoff') widgetholder.Data['cutoff'].set(self.Parameters.TimeRange) # label_start = tk.Label(frame, text='Time Series Start [{0}]'.format(self.TimeAxisVariable)) widgetholder.AddEntry(self, 'start') widgetholder.Data['start'].set(self.Parameters.TimeStart) widgetholder.AddRadioButtons(self, 'source', self.Parameters.SourceOptions) widgetholder.Data['source'].set(self.Parameters.LastSource) buttonrow = 5 self.grid(row=0, column=0, sticky=('N', 'W')) frame.grid(row=0, column=0, columnspan=5, rowspan=5, sticky=('N', 'W')) button.grid(row=buttonrow, column=2) button2.grid(row=buttonrow, column=0) widgetholder.Widgets['range'].grid(row=0, column=0, columnspan=3) widgetholder.Widgets['cutoff'].grid(row=1, column=0, columnspan=3) widgetholder.Widgets['startlabel'].grid(row=2, column=0, columnspan=3) widgetholder.Widgets['start'].grid(row=3, column=0, columnspan=3) widgies = widgetholder.Widgets['source'] for i in range(0, len(widgies)): widgies[i].grid(row=4, column=i)
def __init__(self, parent, parameters=None): ttk.Frame.__init__(self, parent) self.Parameters = utils.Parameters() if parameters is not None: self.Parameters = parameters self.OnSettingsCallback = self.OnSettings_Stub self.WidgetHolder = WidgetHolder() inner_frame = ttk.Frame(self, borderwidth=5, relief='sunken', width=self.Parameters.MinWidth, height=self.Parameters.MinHeight) widgetholder = self.WidgetHolder widgetholder.AddButton(self, 'closer', 'Close', command=self.OnClose) widgetholder.AddListBox(self, 'equationlist', height=30) button = ttk.Button(self, text='Settings', command=self.OnSettings) widgetholder.AddEntry(self, 'equation', readonly=True) widgetholder.AddEntry(self, 'description', readonly=True) widgetholder.AddMatplotLib(self, 'graph') widgetholder.Widgets['equationlist'].bind('<<ListboxSelect>>', self.OnListEvent) # Need to give the Parameters object the equationlist widget self.Parameters.TimeSeriesWidget = widgetholder.Data['equationlist'] # Gridding self.grid(column=0, row=0, sticky=('N', 'S', 'E', 'W')) inner_frame.grid(row=0, column=0, rowspan=5, columnspan=3, sticky=('N', 'S', 'E', 'W')) widgetholder.Widgets['equationlist'].grid(row=0, column=0, columnspan=1, rowspan=3, sticky=['n', 'w', 'e', 'S']) button.grid(column=5, row=0) widgetholder.Widgets['closer'].grid(column=6, row=0) widgetholder.Widgets['description'].grid(row=0, column=1, columnspan=4, sticky=['w', 'e']) widgetholder.Widgets['equation'].grid(row=1, column=1, columnspan=6, sticky=['w', 'e']) widgetholder.GetMatplotlibInfo('graph', 'canvas').get_tk_widget().grid( column=2, row=2, columnspan=5, sticky=['n', 's', 'e', 'w']) self.columnconfigure(2, weight=1) self.columnconfigure(3, weight=1) self.columnconfigure(4, weight=1) self.rowconfigure(2, weight=1) self.UpdateEquationList()
def _init_view(self): """Método de creación de vista. En este método es donde realmente se genera la vista de la, ventana pues es donde se crean todos los widgets y se colocán, en su lugar correspondiente. """ # Creamos el marco self._principal_frame = ttk.Frame(self._window.get(), padding="3 3 12 12") # El marco está en la posición 0,0 de la ventana en el centro self._principal_frame.grid(column=0, row=0, sticky='N' + 'S' + 'E' + 'W') # cantidad de columnas que tiene el marco self._principal_frame.columnconfigure(0, weight=1) # cantidad de filas que tiene el marco self._principal_frame.rowconfigure(0, weight=1) # crea bóton dentro de marco self.b_exit = ttk.Button(self._principal_frame, text="Exit") # ponemos en la posición 0,1 y que se expanda a SurEste self.b_exit.grid(column=12, row=12, sticky='SE') # agregamos el comando del bóton self.b_exit.bind("<Button>", self._controller.exit_application) self.b_test = ttk.Button(self._principal_frame, text="Test") self.b_test.grid(column=1, row=0, sticky='SE') self.b_test.bind("<Button>", self._controller.test) # -------------------------------------------------------------------------------- self.b_change_size = ttk.Button(self._principal_frame, text="Change Size") self.b_change_size.grid(column=0, row=0, sticky='NW') self.b_change_size.bind("<Button>", self._controller.change_size) self.b_new_view = ttk.Button(self._principal_frame, text="New View") self.b_new_view.grid(column=0, row=1, sticky='S') self.b_new_view.bind("<Button>", self._controller.new_view) self._add_menu("MenuVista1") self._add_item_menu("MenuVista1", "Prueba", self._controller.menu_item_exit)
def __init__(self): Tk.__init__(self) ttk.Style(self).configure('TButton', font=('Arial', 10)) self.lb1 = Label(self,text='Iterações',font=('Arial',10)) self.lb2 = Label(self,text='Alfa',font=('Arial',10)) self.lb3 = Label(self,text='Aproveitamento Mínimo (%)',font=('Arial',10)) self.lb4 = Label(self,text='Tempo Mínimo (min)',font=('Arial',10)) self.lb5 = Label(self,text='Espessura de Lâmina (mm)',font=('Arial',10)) self.lb6 = Label(self,text='Proporção inicial',font=('Arial',10)) self.lb7 = Label(self,text='Sensibilidade do scroll',font=('Arial',10)) self.lb1.grid(row=0,column=0) self.lb2.grid(row=1,column=0) self.lb3.grid(row=2,column=0) self.lb4.grid(row=3,column=0) self.lb5.grid(row=4,column=0) self.lb6.grid(row=5,column=0) self.lb7.grid(row=6,column=0) self.ent1 = Entry(self,width=10) self.ent2 = Entry(self,width=10) self.ent3 = Entry(self,width=10) self.ent4 = Entry(self,width=10) self.ent5 = Entry(self,width=10) self.ent6 = Entry(self,width=10) self.ent7 = Entry(self,width=10) self.ent1.grid(row=0,column=1) self.ent2.grid(row=1,column=1) self.ent3.grid(row=2,column=1) self.ent4.grid(row=3,column=1) self.ent5.grid(row=4,column=1) self.ent6.grid(row=5,column=1) self.ent7.grid(row=6,column=1) self.bt = ttk.Button(self,text='Salvar',command=self.save) self.bt.grid(row=7,column=0) self.cconfig = sqlite3.connect('configuracoes.db') self.cco = self.cconfig.cursor() self.cco.execute('CREATE TABLE IF NOT EXISTS configuracoes (iteracoes int, alfa real, aprovmin real, tempo real, esp real, count int, sens int)') for row in self.cco.execute('SELECT * FROM configuracoes'): self.ent1.insert('end',row[0]) self.ent2.insert('end',row[1]) self.ent3.insert('end',row[2]*100) self.ent4.insert('end',row[3]) self.ent5.insert('end',row[4]) self.ent6.insert('end',row[5]) self.ent7.insert('end',row[6])
def insertb(): winput = tk.Toplevel(wblocklist) winput.title("Add program") entry = ttk.Entry(winput, width=10) entry.pack() def getinput(): global sitelist sitelist.insert(tk.END, str(entry.get())) global sites sites.append(str(entry.get())) wsetting() winput.destroy() button = ttk.Button(winput, text="Add", command=getinput) button.pack()
def __init__(self, root, question, value): global settings self.root = root try: self.lastval = settings[value] except IndexError: settings.append("0") self.lastval = "0" self.question = question self.value = value ttk.Label(self.root, text=self.question).pack() self.currentval = ttk.Label( self.root, text=("Currently: " + ("Enabled" if settings[self.value] == "1" else "Disabled"))) self.currentval.pack() self.button = ttk.Button( self.root, text=("Enable" if settings[self.value] == "0" else "Disable"), command=self.change) self.button.pack()
def inserir(self): self.janelainserir = Tk() self.janelainserir.iconbitmap('cadastrarpecas_icon.ico') self.janelainserir.title('Inserir Peças') self.janelainserir.geometry( '%dx%d+%d+%d' % (410, 50, ((self.janelainserir.winfo_screenwidth() / 2) - (410 / 2)), ((self.janelainserir.winfo_screenheight() / 2) - (50 / 2)))) self.janelainserir.label1 = Label(self.janelainserir, text='Id', font=('Arial', 10)) self.janelainserir.label2 = Label(self.janelainserir, text='Comprimento', font=('Arial', 10)) self.janelainserir.label3 = Label(self.janelainserir, text='Largura', font=('Arial', 10)) self.janelainserir.label4 = Label(self.janelainserir, text='Quantidade', font=('Arial', 10)) self.janelainserir.label1.grid(row=0, column=0) self.janelainserir.label2.grid(row=0, column=1) self.janelainserir.label3.grid(row=0, column=2) self.janelainserir.label4.grid(row=0, column=3) self.janelainserir.cx1 = Entry(self.janelainserir, width=13) self.janelainserir.cx2 = Entry(self.janelainserir, width=13) self.janelainserir.cx3 = Entry(self.janelainserir, width=13) self.janelainserir.cx4 = Entry(self.janelainserir, width=13) self.janelainserir.cx1.grid(row=1, column=0) self.janelainserir.cx2.grid(row=1, column=1) self.janelainserir.cx3.grid(row=1, column=2) self.janelainserir.cx4.grid(row=1, column=3) self.janelainserir.bt = ttk.Button(self.janelainserir, text='OK', command=self.inserirval) self.janelainserir.bt.grid(row=1, column=5) self.janelainserir.mainloop()
def __init__(self, parent, title=None, video=''): Tk.Frame.__init__(self, parent) self.parent = parent # == root self.parent.title(title or "tkVLCplayer") self.video = expanduser(video) # Menu Bar # File Menu menubar = Tk.Menu(self.parent) self.parent.config(menu=menubar) fileMenu = _Tk_Menu(menubar) fileMenu.bind_shortcuts_to(parent) # XXX must be root? fileMenu.add_shortcut("Open...", 'o', self.OnOpen) fileMenu.add_separator() fileMenu.add_shortcut("Play", 'p', self.OnPlay) # Play/Pause fileMenu.add_command(label="Stop", command=self.OnStop) fileMenu.add_separator() fileMenu.add_shortcut("Mute", 'm', self.OnMute) fileMenu.add_separator() fileMenu.add_shortcut("Close", 'w' if _isMacOS else 's', self.OnClose) if _isMacOS: # intended for and tested on macOS fileMenu.add_separator() fileMenu.add_shortcut("Full Screen", 'f', self.OnFullScreen) menubar.add_cascade(label="File", menu=fileMenu) self.fileMenu = fileMenu self.playIndex = fileMenu.index("Play") self.muteIndex = fileMenu.index("Mute") # first, top panel shows video self.videopanel = ttk.Frame(self.parent) self.canvas = Tk.Canvas(self.videopanel) self.canvas.pack(fill=Tk.BOTH, expand=1) self.videopanel.pack(fill=Tk.BOTH, expand=1) # panel to hold buttons self.buttons_panel = Tk.Toplevel(self.parent) self.buttons_panel.title("") self.is_buttons_panel_anchor_active = False buttons = ttk.Frame(self.buttons_panel) self.playButton = ttk.Button(buttons, text="Play", command=self.OnPlay) stop = ttk.Button(buttons, text="Stop", command=self.OnStop) self.muteButton = ttk.Button(buttons, text="Mute", command=self.OnMute) self.playButton.pack(side=Tk.LEFT) stop.pack(side=Tk.LEFT) self.muteButton.pack(side=Tk.LEFT) self.volMuted = False self.volVar = Tk.IntVar() self.volSlider = Tk.Scale(buttons, variable=self.volVar, command=self.OnVolume, from_=0, to=100, orient=Tk.HORIZONTAL, length=200, showvalue=0, label='Volume') self.volSlider.pack(side=Tk.RIGHT) buttons.pack(side=Tk.BOTTOM, fill=Tk.X) # panel to hold player time slider timers = ttk.Frame(self.buttons_panel) self.timeVar = Tk.DoubleVar() self.timeSliderLast = 0 self.timeSlider = Tk.Scale(timers, variable=self.timeVar, command=self.OnTime, from_=0, to=1000, orient=Tk.HORIZONTAL, length=500, showvalue=0) # label='Time', self.timeSlider.pack(side=Tk.BOTTOM, fill=Tk.X, expand=1) self.timeSliderUpdate = time.time() timers.pack(side=Tk.BOTTOM, fill=Tk.X) # VLC player args = [] if _isLinux: args.append('--no-xlib') self.Instance = vlc.Instance(args) self.player = self.Instance.media_player_new() self.parent.bind("<Configure>", self.OnConfigure) # catch window resize, etc. self.parent.update() # After parent.update() otherwise panel is ignored. self.buttons_panel.overrideredirect(True) # Estetic, to keep our video panel at least as wide as our buttons panel. self.parent.minsize(width=502, height=0) if _isMacOS: # Only tested on MacOS so far. Enable for other OS after verified tests. self.is_buttons_panel_anchor_active = True # Detect dragging of the buttons panel. self.buttons_panel.bind("<Button-1>", lambda event: setattr(self, "has_clicked_on_buttons_panel", event.y < 0)) self.buttons_panel.bind("<B1-Motion>", self._DetectButtonsPanelDragging) self.buttons_panel.bind("<ButtonRelease-1>", lambda _: setattr(self, "has_clicked_on_buttons_panel", False)) self.has_clicked_on_buttons_panel = False else: self.is_buttons_panel_anchor_active = False self._AnchorButtonsPanel() self.OnTick() # set the timer up
def __init__(self, parent, title=None): Tk.Frame.__init__(self, parent) self.parent = parent if title == None: title = "FLIR_SEGMENT_FLAGGER" self.parent.title(title) self.parent.iconbitmap('flam.ico') # Menu Bar # File Menu menubar = Tk.Menu(self.parent) self.parent.config(menu=menubar) fileMenu = Tk.Menu(menubar) fileMenu.add_command(label="Open", underline=0, command=self.OnOpen) fileMenu.add_command(label="Exit", underline=1, command=_quit) menubar.add_cascade(label="File", menu=fileMenu) # The second panel holds controls self.player = None self.videopanel = ttk.Frame(self.parent) self.canvas = Tk.Canvas(self.videopanel).pack(fill=Tk.BOTH, expand=1) self.videopanel.pack(fill=Tk.BOTH, expand=1) ctrlpanel = ttk.Frame(self.parent) pause = ttk.Button(ctrlpanel, text="Pause", command=self.OnPause) flag = ttk.Button( ctrlpanel, text="Flag", command=lambda: [f() for f in [self.OnPause, self.OnFlag]]) play = ttk.Button(ctrlpanel, text="Play", command=self.OnPlay) stop = ttk.Button(ctrlpanel, text="Stop", command=self.OnStop) volume = ttk.Button(ctrlpanel, text="Volume", command=self.OnSetVolume) pause.pack(side=Tk.LEFT) play.pack(side=Tk.LEFT) stop.pack(side=Tk.LEFT) flag.pack(side=Tk.LEFT) volume.pack(side=Tk.LEFT) self.volume_var = Tk.IntVar() self.volslider = Tk.Scale(ctrlpanel, variable=self.volume_var, command=self.volume_sel, from_=0, to=100, orient=Tk.HORIZONTAL, length=100) self.volslider.pack(side=Tk.LEFT) ctrlpanel.pack(side=Tk.BOTTOM) ctrlpanel2 = ttk.Frame(self.parent) self.scale_var = Tk.DoubleVar() self.timeslider_last_val = "" self.timeslider = Tk.Scale(ctrlpanel2, variable=self.scale_var, command=self.scale_sel, from_=0, to=1000, orient=Tk.HORIZONTAL, length=500) self.timeslider.pack(side=Tk.BOTTOM, fill=Tk.X, expand=1) self.timeslider_last_update = time.time() ctrlpanel2.pack(side=Tk.BOTTOM, fill=Tk.X) # VLC player controls self.Instance = vlc.Instance() self.player = self.Instance.media_player_new() # below is a test, now use the File->Open file menu #media = self.Instance.media_new('output.mp4') #self.player.set_media(media) #self.player.play() # hit the player button #self.player.video_set_deinterlace(str_to_bytes('yadif')) self.timer = ttkTimer(self.OnTimer, 1.0) self.timer.start() self.parent.update()
def __init__(self, parent, title=None): global index Tk.Frame.__init__(self, parent) self.parent = parent if title == None: title = "tk_vlc" self.parent.title(title) menubar = Tk.Menu(self.parent) self.parent.config(menu=menubar) fileMenu = Tk.Menu(menubar) fileMenu.add_command(label="Open", underline=0, command=self.OnOpen) fileMenu.add_command(label="Exit", underline=1, command=_quit) menubar.add_cascade(label="File", menu=fileMenu) self.player = None self.videopanel = ttk.Frame(self.parent) self.canvas = Tk.Canvas(self.videopanel).pack(fill=Tk.BOTH, expand=1) self.videopanel.pack(fill=Tk.BOTH, expand=1) ctrlpanel = ttk.Frame(self.parent) ctrlpanel3 = ttk.Frame(self.parent) ctrlpanel2 = ttk.Frame(self.parent) pause = ttk.Button(ctrlpanel, text="Pause", command=self.OnPause) saveVideo = ttk.Button(ctrlpanel, text="Screenshot", command=self.saveVideo) plus5 = ttk.Button(ctrlpanel, text="plus5", command=self.plus5) minus5 = ttk.Button(ctrlpanel, text="minus5", command=self.minus5) play = ttk.Button(ctrlpanel, text="Play", command=self.OnPlay) stop = ttk.Button(ctrlpanel, text="Stop", command=self.OnStop) global filename_store, directory_store, fullname textBox = Text(ctrlpanel3, height=1, width=10) textBox.pack() text_buttonAdd = Button( ctrlpanel3, height=1, width=15, text="Add new button", command=lambda: [ ttk.Button(ctrlpanel2, text=textBox.get("1.0", "end-1c"), command=lambda dummy=textBox.get("1.0", "end-1c"): self.click_event(dummy)).pack(side="left"), os.mkdir(directory_store + '/' + textBox.get("1.0", "end-1c")) ]) text_buttonAdd.pack(side="left") pause.pack(side=Tk.LEFT) saveVideo.pack(side=Tk.LEFT) plus5.pack(side=Tk.LEFT) minus5.pack(side=Tk.LEFT) play.pack(side=Tk.LEFT) stop.pack(side=Tk.LEFT) self.volume_var = Tk.IntVar() self.volslider = Tk.Scale(ctrlpanel, variable=self.volume_var, command=self.volume_sel, from_=0, to=100, orient=Tk.HORIZONTAL, length=100) self.volslider.pack(side=Tk.LEFT) self.scale_var = Tk.DoubleVar() self.timeslider_last_val = "" self.timeslider = Tk.Scale(ctrlpanel, variable=self.scale_var, command=self.scale_sel, from_=0, to=1000, orient=Tk.HORIZONTAL, length=500) self.timeslider.pack(side=Tk.BOTTOM, fill=Tk.X, expand=1) self.timeslider_last_update = time.time() ctrlpanel2.pack(side=Tk.BOTTOM) ctrlpanel3.pack(side=Tk.BOTTOM) ctrlpanel.pack(side=Tk.BOTTOM) self.Instance = vlc.Instance() self.player = self.Instance.media_player_new() self.timer = ttkTimer(self.OnTimer, 1.0) self.timer.start() self.parent.update()
def __init__(self, parent, title=None): self.lastValue = '' Tk.Frame.__init__(self, parent) self.parent = parent if title == None: title = "tk_vlc" self.parent.title(title) style = ttk.Style() style.configure("BW.TLabel", foreground="black", background="black") # The second panel holds controls self.player = None self.videopanel = ttk.Frame(self.parent, style="BW.TLabel") # self.videopanel.config(bg="black") self.canvas = Tk.Canvas(self.videopanel).pack(fill=Tk.BOTH, expand=1) self.videopanel.pack(fill=Tk.BOTH, expand=1) #frame = ttk.Frame(root, width=1000, height=1000) self.videopanel.bind("<Button-1>", self.pressedOne) self.videopanel.bind("<Double-Button-1>", self.pressedTwo) ctrlpanel = ttk.Frame(self.parent, style="BW.TLabel") pause = ttk.Button(ctrlpanel, text="Pause", command=self.OnPause) play = ttk.Button(ctrlpanel, text="Play", command=self.OnPlay) stop = ttk.Button(ctrlpanel, text="Stop", command=self.OnStop) load = ttk.Button(ctrlpanel, text="LoadMain", command=self.OnLoad) loadB = ttk.Button(ctrlpanel, text="LoadTemp", command=self.OnLoadB) self.blackFrame = ttk.Frame(self.parent, style="BW.TLabel") self.blackFrame.place(x=0, y=0, width=root.winfo_screenwidth(), height=root.winfo_screenheight()) self.blackFrame.bind("<Button-1>", self.pressedOne) # pause.pack(side=Tk.LEFT) # play.pack(side=Tk.LEFT) # stop.pack(side=Tk.LEFT) # load.pack(side=Tk.LEFT) loadB.pack(side=Tk.LEFT) ctrlpanel2 = ttk.Frame(self.parent, style="BW.TLabel") self.scale_var = Tk.DoubleVar() self.timeslider_last_val = "" self.timeslider = Tk.Scale(ctrlpanel2, variable=self.scale_var, command=self.scale_sel, from_=0, to=1000, orient=Tk.HORIZONTAL, length=500) self.timeslider.pack(side=Tk.BOTTOM, fill=Tk.X, expand=1) self.timeslider_last_update = time.time() # ctrlpanel.pack(side=Tk.BOTTOM) #ctrlpanel2.pack(side=Tk.BOTTOM, fill=Tk.X) # VLC player controls self.Instance = vlc.Instance('--no-xlib --verbose=0') self.player = self.Instance.media_player_new() self.player.audio_set_volume(100) self.player.video_set_scale(0) self.player.video_set_aspect_ratio('16:9') self.player.video_set_deinterlace('on') # self.player.set_fullscreen(True) # below is a test, now use the File->Open file menu media = self.Instance.media_new(video) self.player.set_media(media) # self.player.play() # hit the player button # self.player.video_set_deinterlace(str_to_bytes('yadif')) self.timer = ttkTimer(self.OnTimer, 0.5) self.timer.start() self.parent.update()
def calculate(*args): try: value = float(feet.get()) meters.set((0.3048 * value * 10000.0 + 0.5) / 10000.0) except ValueError: pass root = Tk() root.title("Feet to Meters") mainframe = ttk.Frame(root, padding="3 3 12 12") mainframe.grid(column=0, row=0, sticky=(N, W, E, S)) mainframe.columnconfigure(0, weight=1) mainframe.rowconfigure(0, weight=1) feet = StringVar() meters = StringVar() feet_entry = ttk.Entry(mainframe, width=7, textvariable=feet) feet_entry.grid(column=2, row=1, sticky=(W, E)) ttk.Label(mainframe, textvariable=meters).grid(column=2, row=2, sticky=(W, E)) ttk.Button(mainframe, text="Calculate", command=calculate).grid(column=3, row=3, sticky=W) ttk.Label(mainframe, text="feet").grid(column=3, row=1, sticky=W) ttk.Label(mainframe, text="is equivalent to").grid(column=1, row=2, sticky=E) ttk.Label(mainframe, text="meters").grid(column=3, row=2, sticky=W) for child in mainframe.winfo_children(): child.grid_configure(padx=5, pady=5) feet_entry.focus() root.bind('<Return>', calculate) root.mainloop()
def __init__(self, master): # formating window to have meaningful label and nice colours master.title('Silk Road Historic Feature Data Collection') master.configure(background = '#00000') # add in some window-universal styling self.style = ttk.Style() self.style.configure('TFrame', background = '#7387ed') self.style.configure('TButton', background = '#7387ed') self.style.configure('TLabelFrame', background = '#7387ed', font=('Arial', 12)) self.style.configure('TLabel', background = '#7387ed', font = ('Arial', 11)) self.style.configure('Header.TLabel', font = ('Arial', 18, 'bold')) # creating header frame and using pack geometry master to place at # top of window. This frame thanks user for contributing data. self.frame_header = ttk.Frame(master) self.frame_header.pack() ttk.Label(self.frame_header, text = "Thank you for sharing information about the Silk Road!", font = ('Arial', 14), background = '#7387ed').pack(pady=5) # creating a second frame in window - this time using the LabelFrame # constructor, so that the Location data being collected is made # distinct from other data types to avoid confusion about state (i.e., # want location and not current status). Using pack geometry manager to # add frame under header. self.frame_loc = ttk.Labelframe(master, text="Location of Historic Feature") self.frame_loc.pack() # creating labels for each of the location inputs ttk.Label(self.frame_loc, text = "City:").grid(row = 0, column = 0, pady = 3, sticky = 'sw') ttk.Label(self.frame_loc, text = "State:").grid(row = 2, column = 0, pady = 3, sticky = 'sw') ttk.Label(self.frame_loc, text = "Country:").grid(row = 4, column = 0, pady = 3, sticky = 'sw') # creating Entry widgets for user input of location info self.entry_city = ttk.Entry(self.frame_loc, width = 50, font = ('Arial', 11)) self.entry_state = ttk.Entry(self.frame_loc, width = 50, font = ('Arial', 11)) self.entry_country = ttk.Entry(self.frame_loc, width = 50, font =('Arial', 11)) # using grid geometry manager on entry widgets self.entry_city.grid(row = 1, column = 0) self.entry_state.grid(row = 3, column = 0) self.entry_country.grid(row = 5, column = 0) # creating another LabelFrame for Feature Detail section. Using pack # geometry mananger to add it under the Location frame. self.frame_details = ttk.Labelframe(master, text = "Feature Details") self.frame_details.pack() # creating Label widgets for each input ttk.Label(self.frame_details, text = "Name of Feature:").grid(row=0, column = 0, pady = 3, sticky = 'sw') ttk.Label(self.frame_details, text = "Type of Feature:").grid(row=2, column=0, pady = 3, sticky = 'sw') # creating widgets for feature details; name will be an Entry widget and # type will be a text widget to allow multi-line entry self.entry_name = ttk.Entry(self.frame_details, width = 60, font = ('Arial', 11)) self.text_type = Text(self.frame_details, width = 60, height = 10, font = ('Arial', 11)) # using grid geometry manager on feature detail widgets self.entry_name.grid(row = 1, column = 0) self.text_type.grid(row = 3, column = 0) # create buttons for Submit and Clear options. Submit sends data and # then the data is cleared from the fields ready for next entry. Clear # deletes all information from all fields. ttk.Button(self.frame_details, text = "Submit", command = self.submit).grid(row = 4, column = 0, pady=5) ttk.Button(self.frame_details, text = "Clear", command = self.clear).grid(row = 4, column = 1, pady=5)
def __init__(self, parent, title=None, video=''): Tk.Frame.__init__(self, parent) self.parent = parent # == root self.parent.title(title or "tkVLCplayer") self.video = expanduser(video) # Menu Bar # File Menu menubar = Tk.Menu(self.parent) self.parent.config(menu=menubar) fileMenu = _Tk_Menu(menubar) fileMenu.bind_shortcuts_to(parent) # XXX must be root? fileMenu.add_shortcut("Open...", 'o', self.OnOpen) fileMenu.add_separator() fileMenu.add_shortcut("Play", 'p', self.OnPlay) # Play/Pause fileMenu.add_command(label="Stop", command=self.OnStop) fileMenu.add_separator() fileMenu.add_shortcut("Mute", 'm', self.OnMute) fileMenu.add_separator() fileMenu.add_shortcut("Close", 'w' if _isMacOS else 's', self.OnClose) if _isMacOS: # intended for and tested on macOS fileMenu.add_separator() fileMenu.add_shortcut("Full Screen", 'f', self.OnFullScreen) menubar.add_cascade(label="File", menu=fileMenu) self.fileMenu = fileMenu self.playIndex = fileMenu.index("Play") self.muteIndex = fileMenu.index("Mute") # first, top panel shows video self.videopanel = ttk.Frame(self.parent) self.canvas = Tk.Canvas(self.videopanel) self.canvas.pack(fill=Tk.BOTH, expand=1) self.videopanel.pack(fill=Tk.BOTH, expand=1) # panel to hold buttons buttons = ttk.Frame(self.parent) self.playButton = ttk.Button(buttons, text="Play", command=self.OnPlay) stop = ttk.Button(buttons, text="Stop", command=self.OnStop) self.muteButton = ttk.Button(buttons, text="Mute", command=self.OnMute) self.playButton.pack(side=Tk.LEFT) stop.pack(side=Tk.LEFT) self.muteButton.pack(side=Tk.LEFT) self.volMuted = False self.volVar = Tk.IntVar() self.volSlider = Tk.Scale(buttons, variable=self.volVar, command=self.OnVolume, from_=0, to=100, orient=Tk.HORIZONTAL, length=200, showvalue=0, label='Volume') self.volSlider.pack(side=Tk.LEFT) buttons.pack(side=Tk.BOTTOM) # panel to hold player time slider timers = ttk.Frame(self.parent) self.timeVar = Tk.DoubleVar() self.timeSliderLast = 0 self.timeSlider = Tk.Scale(timers, variable=self.timeVar, command=self.OnTime, from_=0, to=1000, orient=Tk.HORIZONTAL, length=500, showvalue=0) # label='Time', self.timeSlider.pack(side=Tk.BOTTOM, fill=Tk.X, expand=1) self.timeSliderUpdate = time.time() timers.pack(side=Tk.BOTTOM, fill=Tk.X) # VLC player args = [] if _isLinux: args.append('--no-xlib') self.Instance = vlc.Instance(args) #self.player = self.Instance.media_player_new(http://icecast.vrtcdn.be/stubru-high.mp3,network-caching=1000) self.player = self.Instance.media_player_new() self.media = self.instance.media_new( 'http://icecast.vrtcdn.be/stubru-high.mp3', " network-caching=1000") self.media.get_mrl() self.player.set_media(media) self.parent.bind("<Configure>", self.OnConfigure) # catch window resize, etc. self.parent.update() self.OnTick() # set the timer up
def CreateChooser(self, widgetholder): frame = ttk.Frame(self) inner_frame = ttk.Frame(frame, borderwidth=5, relief='sunken', width=self.MinWidth, height=self.MinHeight) widgetholder.AddEntry(frame, 'directory') widgetholder.Data['directory'].set(os.getcwd()) label_dir = Label(frame, text='Working Directory') button_choose = ttk.Button(frame, text='Choose', command=self.OnChooseDir) widgetholder.AddEntry(frame, 'logdir') default = os.path.join(widgetholder.Data['directory'].get(), 'output') if os.path.isdir(default): logdir = default else: logdir = '' widgetholder.Data['logdir'].set(logdir) self.Parameters.LogDir = logdir # Log directory label_log = Label(frame, text='Log Directory') button_choose_log = ttk.Button(frame, text='Choose', command=self.OnChooseDir) # Model row label_model = Label(frame, text='Model File') widgetholder.AddListBox(frame, 'models', height=12) widgetholder.Widgets['models'].bind('<<ListboxSelect>>', self.OnChangeModel) widgetholder.AddEntry(frame, 'model_desc', readonly=True) widgetholder.AddVariableLabel(frame, 'is_valid') widgetholder.AddButton(frame, 'run_button', command=self.OnRunModel, text='Load', state='disabled') # Grid'em, Danno! frame.grid(row=0, column=0, rowspan=4, columnspan=3, sticky=['n', 's', 'w', 'e']) # Working directory label_dir.grid(row=0, column=0) widgetholder.Widgets['directory'].grid(row=0, column=1, sticky=['w', 'e']) button_choose.grid(row=0, column=2, sticky='w', padx=5) # Log dir label_log.grid(row=1, column=0) widgetholder.Widgets['logdir'].grid(row=1, column=1, sticky=['w', 'e']) button_choose_log.grid(row=1, column=2, sticky='w', padx=5) # Model rows label_model.grid(row=2, column=0) widgetholder.Widgets['models'].grid(row=2, column=1, sticky=['w', 'e', 'n', 's'], rowspan=3, pady=5) widgetholder.Widgets['model_desc'].grid(row=2, column=2, sticky=['w', 'e'], padx=5) widgetholder.Widgets['is_valid'].grid(row=3, column=2, sticky=['w', 'e']) widgetholder.Widgets['run_button'].grid(row=4, column=2, pady=5) # Column config [Not working?] inner_frame.grid(row=0, column=0, rowspan=5, columnspan=3, sticky=('N', 'S', 'E', 'W')) frame.columnconfigure(1, weight=4) frame.columnconfigure(2, weight=1) frame.rowconfigure(2, weight=1) frame.rowconfigure(3, weight=1) frame.rowconfigure(3, weight=1) # Populate list self.DirectoryChanged() return frame
top = tk.Toplevel() top.config(width=100) top.resizable(0,0) top.attributes('-topmost', True) top.title("DISCLAIMER") top.configure(bg="#e7e7e7") msg = tk.Message(top, background="#e7e7e7", text="This software is provided for free. If you have paid for or have been asked to pay for this software, it is likely not legitimate. Please discontinue using this software and seek help from proper authorities.") msg.pack(padx=10, pady=5) def start(): top.destroy() root.deiconify() root.attributes('-topmost', True) root.attributes('-topmost', False) button = ttk.Button(top, text="OK", command=start) button.pack(pady=5) top.protocol('WM_DELETE_WINDOW', start) method = tk.IntVar() item = tk.IntVar() methodlabel = ttk.Label(root, text = "Select Decryption method", justify = tk.LEFT, padding = (20,0,0,0)) p = ttk.Radiobutton(root, text = "Password", variable = method, value = 1)
def __init__(self, parent, title=None, video=''): Tk.Frame.__init__(self, parent) self.compDataset = [] self.compComboOptions = ["Select Competition"] self.teamComboOptions = [] self.teamComboOptionsI = [] self.roundComboOptions = [] self.videoWt = 120 self.framesFound = 0 self.isSplitting = 0 style = ttk.Style() style.configure("TButton", padding=5, font=("Helvetica", "12")) style.configure("Player.TButton", pady=0, padx=0, font=("Helvetica", "12")) style.configure("Split.TButton", padx=5, pady=20, font=("Helvetica", "12")) style.configure("TProgressbar", pady=5) style.configure("SplitSelected.TButton", padding=5, background="green", activebackground="yellow", highlightbackground="yellow", font=("Helvetica", "20")) style.configure("Error.SplitSelected.TButton", padding=5, background="red", activebackground="red", highlightbackground="red", font=("Helvetica", "20")) self.parent = parent # == root self.parent.title(title or "Skydive Or Bust Dubbing 1.0") self.video = expanduser(video) # first, top panel shows vide self.vWrapper = ttk.Frame(self.parent) self.videopanel = ttk.Frame(self.vWrapper) self.canvas = Tk.Canvas(self.videopanel) self.canvas.pack(fill=Tk.BOTH, expand=1) self.videopanel.pack(fill=Tk.BOTH, expand=1) self.vWrapper.pack(side=Tk.LEFT) # panel to hold buttons self.buttons_panel = Tk.Frame(self.vWrapper) self.splitting_panel = Tk.Frame(self.parent) compcombo = ttk.Frame(self.buttons_panel) self.compCombo = ttk.Combobox(compcombo, width=25) self.compCombo['values'] = self.compComboOptions self.teamCombo = ttk.Combobox(compcombo, width=25) self.roundCombo = ttk.Combobox(compcombo, width=25) self.compCombo.pack(side=Tk.TOP) self.teamCombo.pack(side=Tk.TOP) self.roundCombo.pack(side=Tk.TOP) compcombo.pack(side=Tk.BOTTOM, fill=Tk.X) self.compCombo.bind('<<ComboboxSelected>>', lambda event: self.change_comp()) buttons = ttk.Frame(self.buttons_panel) self.openButton = ttk.Button(buttons, text="Open", command=self.OnOpen, style="Player.TButton") self.playButton = ttk.Button(buttons, text="Play", command=self.OnPlay, style="Player.TButton") stop = ttk.Button(buttons, text="Stop", command=self.OnStop, style="Player.TButton") eject = ttk.Button(buttons, text="Eject", command=self.OnEject, style="Player.TButton") self.slateButton = ttk.Button(self.splitting_panel, text="Slate", command=self.onMarkSlate, style="Split.TButton") self.exitButton = ttk.Button(self.splitting_panel, text="Exit", command=self.onMarkExit, style="Split.TButton") self.uploadButton = ttk.Button(self.splitting_panel, text="Upload", command=self.onUpload, style="Split.TButton") self.statusLabelH = ttk.Label(self.splitting_panel, text="Video Status:") self.progressBar = ttk.Progressbar(self.splitting_panel, orient=Tk.HORIZONTAL, length=200, mode='determinate', style="TProgressbar") self.wtLabel = ttk.Label(self.splitting_panel, text=str(self.videoWt) + "sec Working Time") self.statusLabel = ttk.Label(self.splitting_panel, text="Open Video") self.openButton.pack(side=Tk.LEFT) self.playButton.pack(side=Tk.LEFT) stop.pack(side=Tk.LEFT) eject.pack(side=Tk.LEFT) self.slateButton.pack(side=Tk.TOP) self.exitButton.pack(side=Tk.TOP) self.uploadButton.pack(side=Tk.TOP) self.statusLabelH.pack(side=Tk.TOP) self.progressBar.pack(side=Tk.TOP) self.wtLabel.pack(side=Tk.TOP) self.statusLabel.pack(side=Tk.TOP) buttons.pack(side=Tk.BOTTOM, fill=Tk.X) # panel to hold player time slider timers = ttk.Frame(self.buttons_panel) self.timeVar = Tk.DoubleVar() self.timeSliderLast = 0 self.timeSlider = Tk.Scale(timers, variable=self.timeVar, command=self.OnTime, from_=0, to=1000, orient=Tk.HORIZONTAL, length=400, showvalue=0) # label='Time', self.timeSlider.pack(side=Tk.BOTTOM, fill=Tk.X, expand=1) self.timeSliderUpdate = time.time() timers.pack(side=Tk.BOTTOM, fill=Tk.X) self.buttons_panel.pack(fill=Tk.BOTH, expand=1) self.splitting_panel.pack(fill=Tk.BOTH, expand=1) # VLC player args = [] args.append('--no-xlib') self.Instance = vlc.Instance(args) self.player = self.Instance.media_player_new() self.player.audio_set_volume(0) self.parent.bind("<Configure>", self.OnConfigure) # catch window resize, etc. self.parent.update() # After parent.update() otherwise panel is ignored. # self.buttons_panel.overrideredirect(True) # Estetic, to keep our video panel at least as wide as our buttons panel. # self.parent.minsize(width=600, height=450) self.is_buttons_panel_anchor_active = False # Download API Data self.get_comps() self.list_comps() self.OnTick() # set the timer up
def add_button(window, text, command, column=0, row=0): action = ttk.Button(window, text=text, command=command) action.grid(column=column, row=row) return action
def __init__(self, parent, title=None): Tk.Frame.__init__(self, parent) self.parent = parent if title == None: title = "tk_vlc" self.parent.title(title) # Menu Bar # File Menu menubar = Tk.Menu(self.parent) self.parent.config(menu=menubar) folder_icon = ImageTk.PhotoImage(Image.open('./Icon/folder-icon.png')) play_icon = ImageTk.PhotoImage( Image.open('./Icon/control-play-icon.png')) stop_icon = ImageTk.PhotoImage( Image.open('./Icon/control-stop-icon.png')) pause_icon = ImageTk.PhotoImage( Image.open('./Icon/control-pause-icon.png')) volume_icon = ImageTk.PhotoImage(Image.open('./Icon/volume-icon.png')) fileMenu = Tk.Menu(menubar) fileMenu.add_command(label="Open", underline=0, command=self.OnOpen) fileMenu.add_command(label="Detect", underline=1, command=self.OnDetect) fileMenu.add_separator() fileMenu.add_command(label="Exit", underline=2, command=_quit) menubar.add_cascade(label="File", menu=fileMenu) # The second panel holds controls self.player = None self.videopanel = ttk.Frame(self.parent) self.canvas = Tk.Canvas(self.videopanel).pack(fill=Tk.BOTH, expand=1) self.videopanel.pack(fill=Tk.BOTH, expand=1) #self.controller = controller ctrlpanel = ttk.Frame(self.parent) pause = ttk.Button(ctrlpanel, image=pause_icon, command=self.OnPause) play = ttk.Button(ctrlpanel, image=play_icon, command=self.OnPlay) stop = ttk.Button(ctrlpanel, image=stop_icon, command=self.OnStop) volume = ttk.Button(ctrlpanel, image=volume_icon, command=self.OnSetVolume) self.progress = ttk.Progressbar(ctrlpanel, orient="horizontal", length=200, mode="determinate") #self.progress.bind('<Map>',self.OnDetect) self.bytes = 0 self.maxbytes = 0 pause.image = pause_icon play.image = play_icon stop.image = stop_icon volume.image = volume_icon self.progress.pack(side=Tk.LEFT) pause.pack(side=Tk.LEFT) play.pack(side=Tk.LEFT) stop.pack(side=Tk.LEFT) volume.pack(side=Tk.LEFT) self.volume_var = Tk.IntVar() self.volslider = Tk.Scale(ctrlpanel, variable=self.volume_var, command=self.volume_sel, from_=0, to=100, orient=Tk.HORIZONTAL, length=100) self.volslider.pack(side=Tk.LEFT) ctrlpanel.pack(side=Tk.BOTTOM) ctrlpanel2 = ttk.Frame(self.parent) self.scale_var = Tk.DoubleVar() self.timeslider_last_val = "" self.timeslider = Tk.Scale(ctrlpanel2, variable=self.scale_var, command=self.scale_sel, from_=0, to=1000, orient=Tk.HORIZONTAL, length=500) self.timeslider.pack(side=Tk.BOTTOM, fill=Tk.X, expand=1) self.timeslider_last_update = time.time() ctrlpanel2.pack(side=Tk.BOTTOM, fill=Tk.X) # VLC player controls self.Instance = vlc.Instance() self.player = self.Instance.media_player_new() # below is a test, now use the File->Open file menu #media = self.Instance.media_new('output.mp4') #self.player.set_media(media) #self.player.play() # hit the player button #self.player.video_set_deinterlace(str_to_bytes('yadif')) self.timer = ttkTimer(self.OnTimer, 1.0) self.timer.start() self.parent.update()