def populatePositionBarFrame(self, master): master.grid_columnconfigure(0, weight=1) row = 0 col = 0 w = self.wPosBar = Progressbar(master, style="TProgressbar", orient='horizontal', length=100, mode='indeterminate') #w = self.wPosBar = Progressbar ( # master, orient = 'horizontal', # length = 100, mode = 'indeterminate') w.grid(row=row, column=col, sticky=NSEW) w['value'] = self.relBarMin w['maximum'] = self.relBarMax row += 1 w = self.wRelPosBar = Progressbar(master, style="TProgressbar", orient='horizontal', length=100, mode='indeterminate') #w = self.wRelPosBar = Progressbar ( # master, orient = 'horizontal', # length = 100, mode = 'indeterminate') w.grid(row=row, column=col, sticky=NSEW) w['value'] = self.relBarMin w['maximum'] = self.relBarMax
def __init__(self, parent, progress_var): Frame.__init__(self, parent) progress_label = Label(self, text="Progress:") progress_label.pack(side=LEFT, anchor=CENTER, padx=12, pady=3) self.progressbar = Progressbar(self, length=903, variable=progress_var) self.progressbar.pack(side=RIGHT, padx=6)
def progress_bar(root, filelist): global pbar_step, pbar_perc_step # create the window with the initial title Pwin = Toplevel(root) Pwin.title('Scanning files...(counting lines)') Pwin.grab_set() Pwin.pbar_var = IntVar(Pwin) # very simple window with one widget, a 400px progress bar # max value is set to the number of files # create a ttk Progressbar if we can, otherwise fake on with a Scale widget if real_pbar: Pwin.pbar = Progressbar(Pwin, orient='horizontal', length=400, mode='determinate', variable=Pwin.pbar_var, maximum=len(filelist)) else: Pwin.pbar = Scale(Pwin, orient='horizontal', length=400, from_=0.0, to=float(len(filelist)), label='Files', resolution=1.0) Pwin.pbar.grid(row=0, column=0, padx=15, pady=15) Pwin.pbar_var.set(0) Pwin.update() # count the lines in the files # this is pretty fast, but no so fast that it's not worth keeping the progress bar visible for now # very large files may take a few seconds, and if you have large numbers of files linecount = 0 for file in filelist: l = scanfile(file) if real_pbar: Pwin.pbar.step(1) else: pbar_pos = Pwin.pbar.get() + 1.0 Pwin.pbar.set(pbar_pos) Pwin.update() if l != -1: linecount += l # set the progress bar step amount - make it roughly 0.5% of the total pbar_step = int(linecount / 200) if pbar_step < PROGBAR_STEP: pbar_step = PROGBAR_STEP # this is the point where we may decide not to show the progress bar if linecount > SHOW_PROGBAR_THRESHOLD: Pwin.title('Scanning files...(checking queries)') if real_pbar: Pwin.pbar.configure(maximum=linecount) Pwin.pbar.start() else: Pwin.pbar.configure(to=100.0, resolution=0.1, label='Progress %') Pwin.pbar.set(0.0) pbar_perc_step = (pbar_step * 100.0) / float(linecount) Pwin.update() return Pwin else: Pwin.grab_release() Pwin.destroy() return None
def create_layout(self): # usb label usb_lbl = Label(text='usb status:', height=4, width=20, font=self.font_size) usb_lbl.grid(column=0, row=0) # usb status label self.usb_status_lbl = Label(text=self.usb_status, height=4, width=20, font=self.font_size) self.usb_status_lbl.grid(column=1, row=0) # network label net_lbl = Label(text='network status:', height=4, width=20, font=self.font_size) net_lbl.grid(column=0, row=1) # network status label self.net_status_lbl = Label(text=self.net_status, height=4, font=self.font_size) self.net_status_lbl.grid(column=1, row=1) # start date label start_lbl = Label(text='start date:', height=4, font=self.font_size) start_lbl.grid(column=0, row=2) # start date text self.start_txt = Entry(width=25, font=self.font_size) self.start_txt.grid(column=1, row=2) # end date label end_lbl = Label(text='end date:', height=4, font=self.font_size) end_lbl.grid(column=0, row=3) # end date text self.end_txt = Entry(width=25, font=self.font_size) self.end_txt.grid(column=1, row=3) # start button self.usb_button = Button(text='USB sync', height=3, command= lambda: self.start_button_click('USB'), font=self.font_size) self.usb_button.grid(column=0, row=4, sticky=N+S+E+W) # stop button self.stop_button = Button(text='stop sync', height=3, command= lambda: self.stop_button_click(), font=self.font_size) self.stop_button.grid(column=1, row=4, sticky=N+S+E+W) # start button self.net_button = Button(text='Net sync', height=3, command= lambda: self.start_button_click('Net'), font=self.font_size) self.net_button.grid(column=0, row=5, sticky=N+S+E+W) # start button self.exit_button = Button(text='exit', height=3, command=self.exit, font=self.font_size) self.exit_button.grid(column=1, row=5, sticky=N+S+E+W) # sync status label self.sync_status_lbl = Label(text=self.sync_status, width=50, height=4, font=self.font_size) self.sync_status_lbl.grid(column=0, row=6, columnspan=2) # progress bar self.progressbar = Progressbar(orient='horizontal', length=240, mode='determinate', style='text.Horizontal.TProgressbar') # time estimator self.time_est = Label(height=3, font=self.font_size)
def get_source(url): # Create a popup to display the progress bar progress_popup = Toplevel(window) progress_popup.title("Loading...") display_url = url # Shorten the URL if it is too long if len(display_url) > 50: display_url = display_url[:47] + "..." # Display the URL label = Label(progress_popup, text="Downloading %s" % display_url) label.pack(padx=PADDING, pady=PADDING) if "Progressbar" in globals(): # Create a progress bar bar = Progressbar(progress_popup, orient=HORIZONTAL, mode="indeterminate") bar.pack(expand=True, fill=BOTH, side=TOP, padx=PADDING, pady=PADDING) bar.start() window.config(cursor="wait") window.update() # Lock the window progress_popup.focus_set() progress_popup.grab_set() progress_popup.transient(window) downloader = GetSource(url) downloader.start() # Wait for the file to finish downloading while downloader.is_alive(): # Keep the main thread updated to avoid a not responding window window.update_idletasks() window.update() downloader.join(0.0001) # Close the popup dialog progress_popup.destroy() window.config(cursor="") window.update() # Return the data to the calling function return downloader.data
def addProgressBar(self, pack_side, **kwargs): ''' Arguments: pack_side - the side in which the Progressbar will be packed kwargs - optional keyword arguments Description: Adds a Progressbar to the toolbar. ''' return self.addElement(Progressbar(self, **kwargs), pack_side)
def startProgressbar(self): progressbar = Progressbar(self.progressFrame, orient="horizontal", length=500, mode="indeterminate") thread = threading.Thread(target=self.animateProgressBar, args=[progressbar]) thread.daemon = True self.progressbarRunning = True thread.start() return thread
def __init__(self, lecteur): self.root = Tk() self.max = lecteur.getNumPages() self.label = Label(self.root, text="Interprétation des pages") self.label.pack() self.progressbar = Progressbar(self.root, orient='horizontal', length=200, value=0) self.progressbar.pack() self.root.update()
def loadplaylist(self): progress_dialog = tk.Toplevel() progress_dialog.title("Loading Playlist") bar = Progressbar(progress_dialog, orient="horizontal", length=500, value=0, mode="determinate") bar.grid(row=4, columnspan=2) thread = threading.Thread(target=self.threadedPlaylistLoad, args=(bar, progress_dialog)) thread.start()
def layout_gui(self): master = self.master s = Style() s.theme_use('default') s.configure('TProgressbar', thickness=50) helv36 = tkFont.Font(family='Helvetica', size=36, weight='bold') b = Button(master, text="Quit", command=self.quit, width=10, height=2) b['font'] = helv36 b.grid(row=0, column=0) pb = Progressbar(master, orient=VERTICAL, length=100, mode='determinate', style='TProgressbar') pb['value'] = 50 pb.grid(row=0, column=1)
def show_progress(self, start): if start: self.prog_win = Toplevel(self.main_container, padx=8, pady=8) self.prog_win.transient(self) self.prog_win.title('Working...') self.prog_win.resizable(0, 0) self.progress_bar = Progressbar(self.prog_win, orient=HORIZONTAL, mode='indeterminate', length=250, takefocus=True) self.progress_bar.grid() self.progress_bar.start() else: self.progress_bar.stop() self.prog_win.destroy()
def __init__(self, parent, controller, frame_number): BaseInputPage.__init__(self, parent, controller, frame_number) self.move_back = False self.need_subjects_file = False self.downloaded_file_path = '~/Downloads/' self.operation = Operations(self.controller) self.start = tk.Button(self, text='Start Execution', command=lambda : self.executeCommand()) self.start.grid(row=self.starting_row, column=0, sticky='W', padx=5, pady=3) self.stop = tk.Button(self, text='Stop Execution', state="disabled", command=lambda : self.terminateCommand()) self.stop.grid(row=self.starting_row, column=2, sticky='E', padx=5, pady=3) self.progressbar = Progressbar(self) self.progressbar.configure(mode='determinate', max=100) self.progressbar.grid(row=self.starting_row+1, column=0, columnspan=3, sticky='ew', padx=10, pady=10) self.controller.progressbar = self.progressbar self.output = Text(self, height=15, width=100) self.output.grid(row=self.starting_row+2, column=0, columnspan=3, sticky='ew', padx=10) self.hyperlink = HyperlinkManager(self.output) self.lf_subject_file = LabelFrame(self, text='Visual QC', padx=15, font='Helvetica 14 bold') self.lf_subject_file.grid(row=self.starting_row+3, column=0, columnspan=3, sticky='WE', padx=5, pady=5, ipadx=5, ipady=5) self.lf_subject_file.grid_rowconfigure(0, weight=1) self.lf_subject_file.grid_columnconfigure(4, weight=1) createToolTip(self.lf_subject_file, self.controller.desc.subject_file) self.lb_subject_file = Label(self.lf_subject_file, text="Select flagged subjects textfile", font='Helvetica 13 bold') self.lb_subject_file.grid(row=0, column=0, sticky="W", pady=3) self.select = tk.Button(self.lf_subject_file, text='Select flagged subjects file', command=lambda : self.chooseFile(self, controller, controller.selected_subjects, 'Selected Subjects', default_dir=self.downloaded_file_path)) self.select.grid(row=1, column=0, sticky='W', padx=5, pady=3) lb_or = Label(self.lf_subject_file, text="-OR-", font='Helvetica 13 bold') lb_or.grid(row=1, column=1, sticky="W", pady=3) self.continue_with_all_sub = tk.Button(self.lf_subject_file, text='Continue with all subjects', command=lambda : self.continueWithAllSub()) self.continue_with_all_sub.grid(row=1, column=2, sticky='W', padx=10, pady=3) self.controller.display = self.output
def init_widgets(self): self.content_wrapper = Frame(self) self.content_wrapper.configure(bg="white") self.screen_title = Header1Label(self.content_wrapper) self.empty_space_1 = PLabel(self.content_wrapper) self.progress_bar_control_var = DoubleVar() self.progress_bar = Progressbar(self.content_wrapper, orient=HORIZONTAL, mode="determinate", length=WINDOW_WIDTH / 2, variable=self.progress_bar_control_var) self.wait_text = PLabel(self.content_wrapper) self.information_display = PLabel(self.content_wrapper) self.empty_space_2 = PLabel(self.content_wrapper) self.next_button = Button(self.content_wrapper, text="Next", state=DISABLED, command=lambda: self.on_next_button())
def load_progress_bar(self): """ Load progress bar method used with root.after. If root.after not used, gui will not load. """ self.progress_bar_style.layout("progress_bar", [ ("progress_bar.trough", { "children": [("progress_bar.pbar", { "side": "left", "sticky": "ns" }), ("progress_bar.label", { "sticky": "" })], "sticky": "nswe", }) ]) self.progress_bar = Progressbar(self.progress_frame, orient="horizontal", style="progress_bar") self.progress_bar.pack(expand=1, fill="x", side="left", padx=10, ipadx=3, ipady=3) self.progress_bar["value"] = 0 self.progress_bar_style.configure("progress_bar", background="deepskyblue", font=('Helvetica', 8), pbarrelief="flat", troughrelief="flat", troughcolor="ghostwhite") self.update_progress_label("Press Start to Launch Automation")
def init_widgets(self): self.content_wrapper = Frame(self) self.content_wrapper.configure(background="white") self.screen_title = Header1Label( self.content_wrapper, text="Scanning video for information...\n") self.progress_bar = Progressbar(self.content_wrapper, orient=HORIZONTAL, mode="indeterminate", length=WINDOW_WIDTH / 2) self.wait_text = PLabel( self.content_wrapper, text="\nThis might take a few minutes." "\nPlease do not change the video files while this is running.\n") self.left_frames_count = PLabel(self.content_wrapper, text=LEFT_FRAMES_COUNT_PREFIX + "0") self.right_frames_count = PLabel(self.content_wrapper, text=RIGHT_FRAMES_COUNT_PREFIX + "0") self.elapsed_time_label = PLabel(self.content_wrapper) self.empty_space = PLabel(self.content_wrapper, text=" ") self.next_button = Button( self.content_wrapper, text="Next", state=DISABLED, command=lambda: self.controller.show_next_frame())
def gdsConv(u, m): global mode global unit global globIm global im rightFrame.pack_propagate(0) if im == None: for widget in rightFrame.winfo_children(): widget.destroy() l2 = Label(rightFrame, text=' Import Image first! ', relief=RAISED, font='calibri 15 bold', fg='red').pack(padx=140) else: if u == "" or (m not in ('2', '4', '8', '16', '32', '64')) or (not str.isdigit(u)): for widget in rightFrame.winfo_children(): widget.destroy() label = Label(rightFrame, image=globIm) label.image = globIm label.pack(padx=60) l2 = Label(rightFrame, text=' Please select valid unit and Layers! ', relief=RAISED, font='calibri 15 bold', fg='red').pack(padx=60, pady=10) else: saveLoc = tkFileDialog.asksaveasfilename() if saveLoc == None or saveLoc == "": for widget in rightFrame.winfo_children(): widget.destroy() label = Label(rightFrame, image=globIm) label.image = globIm label.pack(padx=60) l2 = Label(rightFrame, text=' Select a save location! ', relief=RAISED, font='calibri 15 bold', fg='red').pack(padx=60, pady=10) else: unit = int(u) * 1e-9 mode = int(m) for widget in rightFrame.winfo_children(): widget.destroy() # label = Label(rightFrame,image = globIm) # label.image = globIm # label.pack(padx = 60) ###gdsWriter### name = fileLoc.split('/')[-1].split('.')[0] width, height = im.size cell = core.Cell('GDSII') layout = core.Layout(name, unit) rows = np.arange(height) global imArray imArray = misc.imread(fileLoc, flatten=1) maxVal = np.max(imArray) minVal = np.min(imArray) bins = [] levels = mode for b in range(levels + 1): interval = (maxVal - minVal + 1) / float(levels) bins.append(minVal + b * interval) t = time.time() global mask mask = np.digitize(imArray, bins) ####Shows discritised image### digitized = mask * (256 / (levels)) im = Image.fromarray(digitized.astype('uint8')) width, height = im.size m = max(width, height) if m > 330: scale = 330.0 / m else: scale = 1 globIm = im.resize((int(width * scale), int(height * scale)), Image.ANTIALIAS) globIm = ImageTk.PhotoImage(globIm) label = Label(rightFrame, image=globIm) label.image = globIm label.pack(padx=int((420 - width * scale) / 2)) l2 = Label(rightFrame, text='Conversion in progress...', relief=RAISED, font='calibri 15 bold', fg='blue').pack(padx=60, pady=10) progress_var = DoubleVar(root) progress = Progressbar(rightFrame, orient=HORIZONTAL, variable=progress_var, maximum=100, length=290) progress.pack(padx=20) for row in rows: k = (float(row) / height) * 100 progress_var.set(k) time.sleep(0.001) root.update() r = mask[row] col = 0 while col < width: i = 0 pres = r[col] if r[col + i] == pres and r[col + i] > 1: while r[col + i] == pres: i = i + 1 if col + i > width - 1: break cell.add( core.Path([(col, height - row), (col + i, height - row)], pathtype=0, layer=pres - 1)) col = col + i else: col = col + 1 layout.add(cell) layout.save(saveLoc + '.gds') for widget in rightFrame.winfo_children(): widget.destroy() label = Label(rightFrame, image=globIm) label.image = globIm label.pack(padx=60) l2 = Label(rightFrame, text='Conversion completed.', relief=RAISED, font='calibri 15 bold', fg='blue').pack(padx=60, pady=10) tot = int((time.time() - t)) m = int(tot / 60) s = int(tot % 60) # message = Listbox(rightFrame,font = 'Times 12', width = 360) # message.pack(side = LEFT) # message.insert(END,'Time taken: '+str(m)+' minutes and '+str(s)+' seconds') # message.insert(END,'Image dimensions: width = '+str(width)+' height = '+str(height)) # message.insert(END,'Pixel size used: '+str(unit)) inpSize = os.path.getsize(fileLoc) outSize = os.path.getsize(saveLoc + '.gds') message = Label( rightFrame, text='Conversion time: ' + str(m) + ' minutes and ' + str(s) + ' seconds\n' + 'Image dimensions: width = ' + str(width) + ' height = ' + str(height) + '\n' + 'Pixel size used: ' + str(unit * 1e9) + ' nm\n' + 'Input file size: ' + str(inpSize / 1024) + ' KB Output GDSII file size: ' + str(outSize / 1024) + ' KB', anchor=W, justify=LEFT, font='calibri 11 bold') message.pack(side=LEFT, padx=5)
def __init__(self): u""" Main window constructor Creates 1 frame and 2 labelled subframes """ # basics settings Tk.__init__(self) # constructor of parent graphic class self.title(u'DicoGIS {0}'.format(DGversion)) self.li_raster_formats = ['ecw', 'geotiff'] # notebook self.nb = Notebook(self) self.FrProg = Labelframe(self, name='progression', text='gui_prog') self.FrOutp = Labelframe(self, name='output', text='gui_fr4') # tabs self.tab_files = Frame(self.nb) # tab_id = 0 self.tab_sgbd = Frame(self.nb) # tab_id = 1 self.tab_webservices = Frame(self.nb) # tab_id = 2 self.tab_isogeo = Frame(self.nb) # tab_id = 3 self.tab_about = Frame(self.nb) # tab_id = 4 ## TAB 1: FILES self.nb.add(self.tab_files, text='gui_files', padding=3) # frame: path folder self.FrPath = Labelframe(self.tab_files, name='files', text='gui_fr1') self.labtarg = Label(self.FrPath, text='gui_path') self.target = Entry(master=self.FrPath, width=35) self.browsetarg = Button(self.FrPath, # browse button text='gui_choix', command=lambda: self.setpathtarg(), takefocus=True) self.browsetarg.focus_force() # force the focus on # widgets placement self.labtarg.grid(row=1, column=1, columnspan=1, sticky="NSWE", padx=2, pady=2) self.target.grid(row=1, column=2, columnspan=1, sticky="NSWE", padx=2, pady=2) self.browsetarg.grid(row=1, column=3, sticky="NSWE", padx=2, pady=2) # frame: filters self.FrFilters = Labelframe(self.tab_files, name='filters', text='filters') # formats options self.opt_shp = IntVar(self.FrFilters) # able/disable shapefiles self.opt_tab = IntVar(self.FrFilters) # able/disable MapInfo tables self.opt_kml = IntVar(self.FrFilters) # able/disable KML self.opt_gml = IntVar(self.FrFilters) # able/disable GML self.opt_geoj = IntVar(self.FrFilters) # able/disable GeoJSON self.opt_gxt = IntVar(self.FrFilters) # able/disable GXT self.opt_egdb = IntVar(self.FrFilters) # able/disable Esri FileGDB self.opt_spadb = IntVar(self.FrFilters) # able/disable Spatalite DB self.opt_rast = IntVar(self.FrFilters) # able/disable rasters self.opt_cdao = IntVar(self.FrFilters) # able/disable CAO/DAO files self.opt_pdf = IntVar(self.FrFilters) # able/disable Geospatial PDF self.opt_lyr = IntVar(self.FrFilters) # able/disable Geospatial Lyr self.opt_mxd = IntVar(self.FrFilters) # able/disable Geospatial MXD self.opt_qgs = IntVar(self.FrFilters) # able/disable Geospatial QGS # format choosen: check buttons caz_shp = Checkbutton(self.FrFilters, text=u'.shp', variable=self.opt_shp) caz_tab = Checkbutton(self.FrFilters, text=u'.tab', variable=self.opt_tab) caz_kml = Checkbutton(self.FrFilters, text=u'.kml', variable=self.opt_kml) caz_gml = Checkbutton(self.FrFilters, text=u'.gml', variable=self.opt_gml) caz_geoj = Checkbutton(self.FrFilters, text=u'.geojson', variable=self.opt_geoj) caz_gxt = Checkbutton(self.FrFilters, text=u'.gxt', variable=self.opt_gxt) caz_egdb = Checkbutton(self.FrFilters, text=u'Esri FileGDB', variable=self.opt_egdb) caz_spadb = Checkbutton(self.FrFilters, text=u'Spatialite', variable=self.opt_spadb) caz_rast = Checkbutton(self.FrFilters, text=u'rasters ({0})'.format(', '.join(self.li_raster_formats)), variable=self.opt_rast) caz_cdao = Checkbutton(self.FrFilters, text=u'CAO/DAO', variable=self.opt_cdao) caz_pdf = Checkbutton(self.FrFilters, text=u'Geospatial PDF', variable=self.opt_pdf) caz_lyr = Checkbutton(self.FrFilters, text=u'.lyr', variable=self.opt_lyr) caz_mxd = Checkbutton(self.FrFilters, text=u'.mxd', variable=self.opt_mxd) caz_qgs = Checkbutton(self.FrFilters, text=u'.qgs', variable=self.opt_qgs) # widgets placement caz_shp.grid(row=1, column=0, sticky="NSWE", padx=2, pady=2) caz_tab.grid(row=1, column=1, sticky="NSWE", padx=2, pady=2) caz_kml.grid(row=1, column=2, sticky="NSWE", padx=2, pady=2) caz_gml.grid(row=1, column=3, sticky="NSWE", padx=2, pady=2) caz_geoj.grid(row=1, column=4, sticky="NSWE", padx=2, pady=2) caz_gxt.grid(row=1, column=7, sticky="NSWE", padx=2, pady=2) caz_pdf.grid(row=1, column=5, columnspan=2, sticky="NSWE", padx=2, pady=2) caz_rast.grid(row=2, column=0, columnspan=2, sticky="NSWE", padx=2, pady=2) caz_egdb.grid(row=2, column=2, columnspan=2, sticky="NSWE", padx=2, pady=2) caz_cdao.grid(row=2, column=4, columnspan=1, sticky="NSWE", padx=2, pady=2) caz_spadb.grid(row=2, column=5, columnspan=2, sticky="NSWE", padx=2, pady=2) caz_lyr.grid(row=3, column=0, columnspan=2, sticky="NSWE", padx=2, pady=2) caz_mxd.grid(row=3, column=1, columnspan=2, sticky="NSWE", padx=2, pady=2) caz_qgs.grid(row=3, column=2, columnspan=2, sticky="NSWE", padx=2, pady=2) # frames placement self.FrPath.grid(row=3, column=1, padx=2, pady=2, sticky="NSWE") self.FrFilters.grid(row=4, column=1, padx=2, pady=2, sticky="NSWE") # tab 2: database self.nb.add(self.tab_sgbd, text='gui_database', padding=3) # tab 3: webservices self.nb.add(self.tab_webservices, text='gui_webservices', padding=3) ## TAB 4: ISOGEO self.nb.add(self.tab_isogeo, text='gui_Isogeo', padding=3) ## TAB 5: ABOUT self.nb.add(self.tab_about, text='gui_about', padding=3) ## MAIN FRAME # Welcome message self.welcome = Label(self, text='hola test', foreground="red2") # Progression bar self.status = StringVar(self.FrProg, '') # widgets self.prog_layers = Progressbar(self.FrProg, orient="horizontal") Label(master=self.FrProg, textvariable=self.status, foreground='DodgerBlue').pack() # widgets placement self.prog_layers.pack(expand=1, fill='both') # Output configuration # widgets self.nameoutput = Label(self.FrOutp, text='gui_fic') self.output = Entry(self.FrOutp, width=35) # widgets placement self.nameoutput.grid(row=0, column=1, sticky="NSWE", padx=2, pady=2) self.output.grid(row=0, column=2, columnspan=2, sticky="NSWE", padx=2, pady=2) # Image self.icone = PhotoImage(file=r'../data/img/DicoGIS_logo.gif') Label(self, borderwidth=2, image=self.icone).grid(row=1, rowspan=4, column=0, padx=2, pady=2, sticky=W) # credits s = Style(self) s.configure('Kim.TButton', foreground='DodgerBlue', borderwidth=0) Button(self, text='by @GeoJulien\nGPL3 - 2015', style='Kim.TButton', command=lambda: open_new('https://github.com/Guts/DicoGIS')).grid(row=4, padx=2, pady=2, sticky="WE") # language switcher self.ddl_lang = Combobox(self, values=['fr', 'en'], width=5) # grid placement self.val = Button(self, text='gui_go', state=ACTIVE, command=lambda: self.process()) self.can = Button(self, text='gui_quit', command=lambda: self.destroy()) self.welcome.grid(row=1, column=1, columnspan=1, sticky="NS", padx=2, pady=2) self.ddl_lang.grid(row=1, column=1, sticky="NSE", padx=2, pady=2) self.nb.grid(row=2, column=1) self.FrProg.grid(row=3, column=1, sticky="NSWE", padx=2, pady=2) self.FrOutp.grid(row=4, column=1, sticky="NSWE", padx=2, pady=2) self.val.grid(row=5, column=1, columnspan=2, sticky="NSWE", padx=2, pady=2) self.can.grid(row=5, column=0, sticky="NSWE", padx=2, pady=2)
def initUI(self): self.parent.title("Network/Port Scan") self.style = Style() self.style.configure("TFrame", background="#000000") self.style.configure("TCheckbutton", background="#000000") self.style.configure("TButton", background="#000000") self.pack(fill=BOTH, expand=1) # Configure layout self.columnconfigure(0, weight=1) self.columnconfigure(1, weight=1) self.columnconfigure(2, weight=1) self.rowconfigure(5, weight=1) self.rowconfigure(6, weight=1) # Title of program lbl = Label(self, text="Network/Port Scan") lbl.grid(sticky=W, pady=5, padx=5) # Text Box area = ScrolledText(self, height=20) area.grid(row=1, column=0, columnspan=3, rowspan=4, padx=3, sticky=N + S + E + W) self.area = area # IP Address Button self.ip = BooleanVar() ip_add_button = Checkbutton(self, text="IP Address", variable=self.ip, width=10) ip_add_button.grid(row=1, column=3, sticky=N) ip_add_button.config(anchor=W, activebackground="red") # Port Button self.port = BooleanVar() port_button = Checkbutton(self, text="Ports", variable=self.port, width=10) port_button.grid(row=1, column=3) port_button.config(anchor=W, activebackground="orange") # Host Name Button self.host = BooleanVar() host_name_button = Checkbutton(self, text="Host Name", variable=self.host, width=10) host_name_button.grid(row=1, column=3, sticky=S) host_name_button.config(anchor=W, activebackground="yellow") # Gateway Button self.gateway = BooleanVar() gateway_btn = Checkbutton(self, text="Gateway", variable=self.gateway, width=10) gateway_btn.grid(row=2, column=3, sticky=N) gateway_btn.config(anchor=W, activebackground="green") # Services Button self.service = BooleanVar() service_btn = Checkbutton(self, text="Services", variable=self.service, width=10) service_btn.grid(row=2, column=3) service_btn.config(anchor=W, activebackground="blue") # Starting IP label ip_label = Label(self, text="Starting IP: ") ip_label.grid(row=5, column=0, pady=1, padx=3, sticky=W) self.ip_from = Entry(self, width=15) self.ip_from.insert(0, start_ip) self.ip_from.grid(row=5, column=0, pady=1, padx=3, sticky=E) # Ending IP label ip_label_two = Label(self, text="Ending IP: ") ip_label_two.grid(row=5, column=1, pady=1, padx=5, sticky=W) self.ip_to = Entry(self, width=15) self.ip_to.insert(0, end_ip) self.ip_to.grid(row=5, column=1, pady=1, padx=5, sticky=E) # Starting Port Label port_label = Label(self, text="Starting Port: ") port_label.grid(row=5, column=0, pady=3, padx=5, sticky=S + W) self.port_from = Entry(self, width=15) self.port_from.insert(0, 0) self.port_from.grid(row=5, column=0, pady=1, padx=5, sticky=S + E) # Ending Port Label port_label_two = Label(self, text="Ending Port: ") port_label_two.grid(row=5, column=1, pady=3, padx=5, sticky=S + W) self.port_to = Entry(self, width=15) self.port_to.insert(0, 1025) self.port_to.grid(row=5, column=1, pady=1, padx=5, sticky=S + E) # Scan Me self_scan_button = Button(self, text="Scan Me", command=lambda: self.onClick(1), width=33) self_scan_button.grid(row=6, column=1, sticky=N) # Scan near me Button scan_other_button = Button(self, text="Scan Near Me", width=33, command=lambda: self.onClick(2)) scan_other_button.grid(row=6, column=0, pady=1, sticky=N) # Clear button clear_button = Button(self, text="Clear text", command=self.clear_text, width=12) clear_button.grid(row=6, column=3, pady=1, sticky=N) # Progress Bar self.label_scanning = Progressbar(self, orient=HORIZONTAL, length=175) self.label_scanning.grid(row=6, column=0, columnspan=4, padx=7, pady=7, sticky=E + S + W) self.label_scanning.config(mode="determinate")
# Initial attempt at a display of random numbers over time on a pi from Tkinter import * from ttk import Progressbar from ttk import Style import random import time window = Tk() text = StringVar() text.set('loading...') status = IntVar() window.configure(background='black') window.wm_attributes('-type', 'splash') window.geometry('350x200') def changeText(): randomNum = random.randrange(1,15, 1) text.set(randomNum) progress['value'] = randomNum * .15 * 100 window.after(100, changeText) lbl = Label(window, compound=CENTER, textvariable=text, bg="black", fg="orange", font=("Arial Bold", 50)) lbl.place(x=175, y=100, anchor="center") style = Style() style.theme_use('default') style.configure("orange.Horizontal.TProgressbar", troughcolor='black', foreground='orange', background='orange', troughrelief="flat" ) progress=Progressbar(window, orient=HORIZONTAL, style='orange.Horizontal.TProgressbar', length=200, mode='determinate') progress.pack() window.after(100, changeText) window.mainloop()
# Create a window the_window = Tk() # Give the window a title the_window.title('Pump me up!') # Function to execute when the button is pressed def advance(): the_bar.step(step_size) # Create a button widget whose parent container is the # window the_button = Button(the_window, text='Push', command=advance) # Create a progress bar widget in the parent window (making the # maximum value displayable 101% because the bar's value # returns to zero when 100 is reached, i.e., it displays values # from 0 to 99, inclusive, by default) the_bar = Progressbar(the_window, orient=VERTICAL, maximum=101) # Call the geometry manager to "pack" the widgets onto # the window (with a blank margin around the widgets) margin_size = 5 the_button.pack(padx=margin_size, pady=margin_size) the_bar.pack(pady=margin_size) # Start the event loop to react to user inputs the_window.mainloop()
def main(hMidi, file): c2 = MidiFileIn.MIDI_to_Composition(file) out_dir = 'out' tra = Track() notes = list() bars = [] for x in c2: if (x.__class__.__name__ == "Composition"): for track in x.tracks: i = 0 for bar in track.bars: notesB = [] if len(bar.get_note_names()) == 0: bar.empty() bar.place_rest(1) tra + bar notesB.append(None) bars.append(notesB) i = i + 1 continue tra + bar for y in bar: if (len(NoteContainer(y[-1]).get_note_names()) > 0): notes.append( NoteContainer(y[-1]).get_note_names()[0]) notesB.append((y[2][0].name, y[2][0].octave)) bars.append(notesB) i = i + 1 bars = bars[:-1] tra.bars = tra.bars[:-1] bpm = c2[1] ### DESCOBRIR TONALIDADE MELODIA -> 1o GRAU ### key_and_mode = scales.determine(notes)[0] if key_and_mode != None: key = key_and_mode.split(" ")[0] mode = key_and_mode.split(" ")[1] score = converter.parse(file) parse = score.analyze('key') keym = parse.tonic.name modem = parse.mode flag = False if mode == ('harmonic' or 'minor'): key = keys.relative_major(key.lower()) mode = 'major' flag = True elif mode != modem: Flag = True scores = { 'I': { 0: 0.5, 1: -0.2, 2: 0, 3: 0, 4: 0.35, 5: 0, 6: 0, 7: 0.35, 8: 0, 9: 0, 10: 0, 11: 0.1 }, 'ii': { 0: 0, 1: 0.1, 2: 0.5, 3: -0.2, 4: 0, 5: 0, 6: 0.35, 7: 0, 8: 0, 9: 0.35, 10: 0, 11: 0 }, 'iii': { 0: 0, 1: 0, 2: 0, 3: 0.1, 4: 0.5, 5: -0.2, 6: 0, 7: 0, 8: 0.35, 9: 0, 10: 0, 11: 0.35 }, 'IV': { 0: 0.35, 1: 0, 2: 0, 3: 0, 4: 0.1, 5: 0.5, 6: -0.2, 7: 0, 8: 0, 9: 0.35, 10: 0, 11: 0 }, 'V': { 0: 0, 1: 0, 2: 0.35, 3: 0, 4: 0, 5: 0, 6: 0.1, 7: 0.5, 8: -0.2, 9: 0, 10: 0, 11: 0.35 }, 'vi': { 0: 0, 1: 0.35, 2: 0, 3: 0, 4: 0.35, 5: 0, 6: 0, 7: 0, 8: 0.1, 9: 0.5, 10: -0.2, 11: 0 }, 'vii': { 0: -0.2, 1: 0, 2: 0, 3: 0.35, 4: 0, 5: 0, 6: 0.35, 7: 0, 8: 0, 9: 0, 10: 0.11, 11: 0.5 } } scoresMin = { 'I': { 0: 0, 1: 0.35, 2: 0, 3: 0, 4: 0.35, 5: 0, 6: 0, 7: 0, 8: 0.1, 9: 0.5, 10: -0.2, 11: 0 }, 'ii': { 0: -0.2, 1: 0, 2: 0, 3: 0.35, 4: 0, 5: 0, 6: 0.35, 7: 0, 8: 0, 9: 0, 10: 0.11, 11: 0.5 }, 'iii': { 0: 0.5, 1: -0.2, 2: 0, 3: 0, 4: 0.35, 5: 0, 6: 0, 7: 0.35, 8: 0, 9: 0, 10: 0, 11: 0.1 }, 'IV': { 0: 0, 1: 0.1, 2: 0.5, 3: -0.2, 4: 0, 5: 0, 6: 0.35, 7: 0, 8: 0, 9: 0.35, 10: 0, 11: 0 }, 'V': { 0: 0, 1: 0, 2: 0, 3: 0.1, 4: 0.5, 5: -0.2, 6: 0, 7: 0, 8: 0.35, 9: 0, 10: 0, 11: 0.35 }, 'vi': { 0: 0.35, 1: 0, 2: 0, 3: 0, 4: 0.1, 5: 0.5, 6: -0.2, 7: 0, 8: 0, 9: 0.35, 10: 0, 11: 0 }, 'vii': { 0: 0, 1: 0, 2: 0.35, 3: 0, 4: 0, 5: 0, 6: 0.1, 7: 0.5, 8: -0.2, 9: 0, 10: 0, 11: 0.35 } } if flag: scores = scoresMin modeToPass = '******' if flag else 'major' chords = Harmonizer.harmonize(bars, key, scores, (4, 4), modeToPass) label1 = Label(hMidi.root, text='Harmonizando!') label1.config(font=('helvetica', 14)) hMidi.canvas1.create_window(200, 100, window=label1) pg = Progressbar(hMidi.root, orient=HORIZONTAL, length=100, mode='determinate') pg['maximum'] = 230 pg['value'] = 0 hMidi.pg = pg hMidi.canvas1.create_window(200, 140, window=pg) hMidi.updt('') label4 = Label(hMidi.root, textvariable=hMidi.labelText) hMidi.canvas1.create_window(200, 160, window=label4) hMidi.update(0) fluidsynth.init("Sounds/soundfont.sf2", "alsa") button1 = Button( text='Ouvir resultado', command=lambda: hMidi.play(tra, chords, bpm, scores, bars, key, mode, modeToPass, tra, file, out_dir), bg='brown', fg='white', font=('helvetica', 9, 'bold')) hMidi.canvas1.create_window(200, 200, window=button1) if hMidi.exp: if not os.path.exists(out_dir): os.makedirs(out_dir) Harmonizer.export(tra, progressions.to_chords(chords, key), key, (4, 4), bpm, file) if hMidi.sheet: if not os.path.exists(out_dir): os.makedirs(out_dir) Harmonizer.to_Sheet(bars, progressions.to_chords(chords, key), tra, key, mode, file, out_dir, hMidi.name, hMidi.author)
def _add_frames(self): # Adding Answer Backup Frame f1 = Frame(self) f1.grid(column=0, row=0, sticky="NWES") for i in range(4): f1.grid_rowconfigure(i, weight=0, pad=5) f1.grid_rowconfigure(4, weight=1, pad=5) for i in range(4): f1.grid_columnconfigure(i, weight=1, pad=5) Label(f1, anchor='e', text='Answers Count : ').grid(column=0, row=0, sticky='EWNS') self.answer_count = StringVar(value=len(self.crawler.answer_list)) Label(f1, anchor='w', textvariable=self.answer_count).grid(column=1, row=0, sticky='EWNS') Label(f1, anchor='e', text='User Name : ').grid(column=2, row=0, sticky='EWNS') self.user = StringVar(value='Unknown') Label(f1, anchor='w', textvariable=self.user).grid(column=3, row=0, sticky='EWNS') tf_col = '#e6e6e6' tf = Tkinter.Frame(f1, relief=GROOVE, borderwidth='2p') tf.grid(row=1, columnspan=2, column=0, sticky='EWNS') Label(tf, text='Quora User Options', bg=tf_col, anchor='c').grid(column=0, row=0, columnspan=2, sticky='EWNS') Button(tf, text='Login', command=lambda : self.thread('login'), highlightbackground=tf_col).grid(column=0, row=1, sticky='EWNS') Button(tf, text='Logout', command=lambda : self.thread('logout'), highlightbackground=tf_col).grid(column=1, row=1, sticky='EWNS') tf.grid_rowconfigure(0, weight=1, pad=5) tf.grid_rowconfigure(1, weight=1, pad=5) tf.grid_columnconfigure(0, weight=1, pad=5) tf.grid_columnconfigure(1, weight=1, pad=5) tf = Frame(f1, relief=GROOVE, borderwidth='2p') tf.grid(row=1, columnspan=2, column=2, sticky='EWNS') Label(tf, text='Answer List Option', bg=tf_col, anchor='c').grid(column=0, columnspan=2, row=0, sticky='EWNS') Button(tf, text='Reset', command=lambda : self.thread('reset'), highlightbackground=tf_col).grid(column=0, row=1, sticky='EWNS') Button(tf, text='Update', command=lambda : self.thread('update'), highlightbackground=tf_col).grid(column=1, row=1, sticky='EWNS') tf.grid_rowconfigure(0, weight=1, pad=5) tf.grid_rowconfigure(1, weight=1, pad=5) tf.grid_columnconfigure(0, weight=1, pad=5) tf.grid_columnconfigure(1, weight=1, pad=5) # Add Progress Bar self.backup_progress = Progressbar(f1, orient="horizontal", length=100, mode="determinate") self.backup_progress.grid(row=2, columnspan=4, column=0, sticky='EWNS') # Adding Status Pane self.backup_status = StringVar(value='Ready') Label(f1, textvariable=self.backup_status, anchor='w').grid(row=3, column=0, columnspan=4, sticky='EWNS') # Adding The list of all answers tree = Treeview(f1, columns=('sno', 'date', 'question')) tree.heading('sno', text='S. No') tree.heading('date', text='Date') tree.heading('question', text='Question') tree.column("#0", width=0, stretch=False) tree.column('sno', width=40, stretch=False, anchor='center') tree.column('date', width=120, stretch=False, anchor='center') tree.column('question', stretch=True, anchor='w') tree.grid(column=0, columnspan=4, row=4, sticky='EWNS') tree.bind("<Double-1>", self.tree_item_click) self.answer_tree = tree self.populate_tree() f2 = Frame(self) self.add(f1, text='Answer Backup', underline=7) self.add(f2, text='Analytics')
def extractgz(progressbar): # Linux archive = tarfile.open("update.gz") archive.extractall() if os.path.exists("update." + ext[platform.system()]): window = Tk() window.title("AO2XP updater") window.wm_resizable(0, 0) window.geometry("256x64") lb = Label(window) lb.pack() pb = Progressbar(window, orient=HORIZONTAL, length=100, mode="indeterminate") pb.pack(fill="x") pb.start() def extractThread(): time.sleep(0.1) lb["text"] = "Waiting 3 seconds for AO2XP to close..." time.sleep(3) pb.stop() pb["value"] = 0 pb["mode"] = "determinate" lb["text"] = "Extracting update." + ext[platform.system()] + "..." globals()["extract" + ext[platform.system()]]( pb) # call the extract function according to OS lb["text"] = "Done!\nYou can now start AO2XP."
def progressbar(self): root2 = tk.Tk() pb = Progressbar(root2, orient="horizontal", length=200, mode="determinate") pb.pack() pb.start() root2.mainloop()
def __init__(self, w, h): self.root = Tk() self.root.title('HarmoniMIDI') self.root.resizable(False, False) self.pg = Progressbar(self.root, orient=HORIZONTAL, length=100, mode='determinate') self.pg['maximum'] = 230 self.pg['value'] = 0 self.canvas1 = Canvas(self.root, width=w, height=h, relief='raised') self.canvas1.pack() self.w = [] self.label1 = Label(self.root, text='HarmoniMIDI') self.label1.config(font=('helvetica', 14)) self.canvas1.create_window(200, 25, window=self.label1) self.label2 = Label( self.root, text='Digite o caminho do arquivo .midi: (ex: home/music/in.midi)') self.label2.config(font=('helvetica', 10)) self.canvas1.create_window(200, 70, window=self.label2) self.entry1 = Entry(self.root, width=35) self.canvas1.create_window(200, 100, window=self.entry1) self.w.append(self.label2) self.w.append(self.entry1) self.label3 = Label( self.root, text= 'Deseja exportar o resultado para WAV e/ou gerar partitura? Selecione as opcoes:', wraplength=300) self.label3.config(font=('helvetica', 10)) self.canvas1.create_window(200, 155, window=self.label3) self.w.append(self.label3) self.CheckVar1 = IntVar() self.CheckVar2 = IntVar() self.c1 = Checkbutton(self.root, text="Exportar WAV ", variable=self.CheckVar1) self.canvas1.create_window(200, 195, window=self.c1) self.c2 = Checkbutton(self.root, text="Gerar partitura", variable=self.CheckVar2, command=lambda: self.getSheetInfo()) self.canvas1.create_window(200, 215, window=self.c2) self.w.append(self.c1) self.w.append(self.c2) self.sheetInfo = Label( self.root, text='Digite, opcionalmente, nome da obra e nome do autor:') self.sheetAuthor = Entry(self.root, width=22) self.sheetName = Entry(self.root, width=22) self.w.append(self.sheetInfo) self.w.append(self.sheetName) self.w.append(self.sheetAuthor) self.button1 = Button(text='HarmoniMIDI-me!', command=lambda: self.validate(), bg='brown', fg='white', font=('helvetica', 9, 'bold')) self.b = self.canvas1.create_window(200, 265, window=self.button1) self.w.append(self.button1) self.labelText = StringVar() self.label4 = Label(self.root, textvariable=self.labelText) self.canvas1.create_window(200, 125, window=self.label4) self.w.append(self.label4) self.name = "" self.author = "" self.root.mainloop()
def __init__(self, master): ################-GLOBAL-VARS-############################ self.version = 1.1 self.loadingMsg = "Loading......................." self.driver = "" self.tupleDates = [] self.roomTimeList = [] self.roomIndex = 0 self.outputTimeArray = [] self.userInfo = [] self.master = master self.outputEmail = "" ###############-WINDOW-SETUP-############################ self.master.title("LibCal Booker v" + str(self.version)) self.master.resizable(width=False, height=False) self.master.protocol("WM_DELETE_WINDOW", self.window_close) self.master.createcommand('exit', self.window_close) self.master.bind('<Return>', self.submit_click) ###############-LOAD-FILE-############################### # TODO: Check fields of json, if do not match, transfer over files try: with open("userInfo.json") as data_file: self.userInfo = json.load(data_file) except: print "No existing user" with open("userInfo.json", "w+") as data_file: self.userInfo = dict(version=self.version, first="Mitchell", last="Pynn", email="*****@*****.**", override=0, confirm=1, browser=0, firstLoad=True, authEmail="") json.dump(self.userInfo, data_file) ###################-DATE SELECTION-###################### # set up availDates self.availDates = [self.loadingMsg] # set up chosen date and give default value self.chosenDate = StringVar(self.master) self.chosenDate.set(self.loadingMsg) # set up dateOptionMenu self.dateOptionMenu = OptionMenu(self.master, self.chosenDate, *self.availDates, command=self.date_click) self.dateOptionMenu.grid(row=0, column=0, columnspan=1, sticky=(N, S, E, W), pady=(8, 0), padx=(5, 0)) ##################-ROOM SELECTION-###################### # set up availRooms self.availRooms = [ 'LI 1004', 'LI 1006', 'LI 1007', 'LI 1008', 'LI 1009', 'LI 1010', 'LI 4001', 'LI 4002', 'LI 4003', 'LI 4004', 'LI 4005', 'LI 4006', 'LI 4007', 'LI 4008', 'LI 4009', 'LI 4010' ] self.availTimes = [ '8:00am - 8:30am', '8:30am - 9:00am', '9:00am - 9:30am', '9:30am - 10:00am', '10:00am - 10:30am', '10:30am - 11:00am', '11:00am - 11:30am', '11:30am - 12:00pm', '12:00pm - 12:30pm', '12:30pm - 1:00pm', '1:00pm - 1:30pm', '1:30pm - 2:00pm', '2:00pm - 2:30pm', '2:30pm - 3:00pm', '3:00pm - 3:30pm', '3:30pm - 4:00pm', '4:00pm - 4:30pm', '4:30pm - 5:00pm', '5:00pm - 5:30pm', '5:30pm - 6:00pm', '6:00pm - 6:30pm', '6:30pm - 7:00pm', '7:00pm - 7:30pm', '7:30pm - 8:00pm', '8:00pm - 8:30pm', '8:30pm - 9:00pm', '9:00pm - 9:30pm', '9:30pm - 10:00pm', '10:00pm - 10:30pm', '10:30pm - 11:00pm', '11:00pm - 11:30pm', '11:30pm - 11:59pm' ] # set up chosen room and give default value self.chosenRoom = StringVar(self.master) self.chosenRoom.set(self.availRooms[0]) # set up roomOptionMenu self.roomOptionMenu = OptionMenu(self.master, self.chosenRoom, *self.availRooms, command=self.room_click) self.roomOptionMenu.grid(row=1, column=0, columnspan=1, sticky=(N, S, E, W), padx=(5, 0), pady=(5, 0)) ##################-TIME SELECTION-#################### self.timeOptionList = Listbox(self.master, selectmode=EXTENDED, height=20, exportselection=0, takefocus=0) self.timeOptionList.grid(row=2, column=0, rowspan=200, columnspan=1, sticky=(N, S, E, W), padx=(5, 0), pady=5) self.timeOptionList.insert(0, self.loadingMsg) self.timeOptionList.config(state=DISABLED) #################-BUTTONS-########################## # user info self.infoLabel = Label(self.master, text="[ U S E R I N F O ]", font=("Helvetica", 16, "bold")) self.infoLabel.grid(row=0, column=1, columnspan=2, sticky=E + W) # first Name label and input self.fnameLabel = Label(self.master, text="First: ", font=("Helvetica", 12, "bold")) self.fnameLabel.grid(row=1, column=1, sticky=W) self.fnameEntry = Entry(self.master) self.fnameEntry.grid(row=1, column=2, stick=E + W, padx=(0, 5)) self.fnameEntry.insert(0, self.userInfo["first"]) # last name label and input self.lnameLabel = Label(self.master, text="Last: ", font=("Helvetica", 12, "bold")) self.lnameLabel.grid(row=2, column=1, sticky=W) self.lnameEntry = Entry(self.master) self.lnameEntry.grid(row=2, column=2, stick=E + W, padx=(0, 5)) self.lnameEntry.insert(0, self.userInfo["last"]) # email label and entry self.emailLabel = Label(self.master, text="Email: ", font=("Helvetica", 12, "bold")) self.emailLabel.grid(row=3, column=1, sticky=W) self.emailEntry = Entry(self.master) self.emailEntry.grid(row=3, column=2, stick=E + W, padx=(0, 5)) self.emailEntry.insert(0, self.userInfo["email"]) # showBrowser checkbox self.browserVal = IntVar(self.master) self.browserVal.set(self.userInfo["browser"]) self.browser = Checkbutton(self.master, text="Show web browser", variable=self.browserVal, command=self.browser_show, onvalue=1, offvalue=0, font=("Helvetica", 12), takefocus=0) self.browser.grid(row=4, column=2, sticky=W) # override checkbox self.overrideVal = IntVar(self.master) self.overrideVal.set(self.userInfo["override"]) self.override = Checkbutton(self.master, text="Override 2hr max", variable=self.overrideVal, onvalue=1, offvalue=0, font=("Helvetica", 12), takefocus=0) self.override.grid(row=5, column=2, sticky=W) # confirm checkbox self.confirmVal = IntVar(self.master) self.confirmVal.set(self.userInfo["confirm"]) self.confirm = Checkbutton(self.master, text="Enable confirm dialog", variable=self.confirmVal, onvalue=1, offvalue=0, font=("Helvetica", 12), takefocus=0) self.confirm.grid(row=6, column=2, sticky=W) # submit button self.submit = Button(self.master, text="Submit", command=self.submit_click, takefocus=0) self.submit.grid(row=8, column=2, sticky=(N, S, E, W), padx=(0, 5), pady=(0, 5)) self.submit["state"] = "disabled" # loading bar self.loadingBar = Progressbar(self.master, orient=HORIZONTAL, length=100, mode='determinate') self.loadingBar.grid(row=9, column=2, sticky=(N, S, E, W), padx=(0, 5), pady=(0, 5)) self.loadingBar["value"] = 10 # email self.emm = Button(self.master, text="email tester", command=self.test_email_click, takefocus=0) self.emm.grid(row=10, column=2, sticky=(N, S, E, W), padx=(0, 5), pady=(0, 5)) # update skeleton GUI, then load data self.master.update() self.load_data() # make sure window on top self.master.lift() # show welcome message if first load if self.userInfo["firstLoad"]: tkMessageBox.showinfo( "Welcome", "Currently, booking multiple rooms is not permitted. You are limited to only booking one room per session. However, booking multiple time slots per room is permitted.\n\nMake sure to update the [ USER INFO ] section with your own name and email. \n\nCreated by Mitchell Pynn " )
def __init__(self): Tk.__init__(self) self.title("WebSite ScreenShooter") self.geometry("390x420") self.mainFrame = Frame(self) self.mainFrame.pack(pady=5, padx=5) self.urlLabelFrame = Frame(self.mainFrame) self.urlLabelFrame.pack(pady=5, side=TOP, fill=X) self.urlImportLabel = Label(self.urlLabelFrame, text="web URLs:") self.urlImportLabel.pack(side=LEFT, padx=5) self.importTextFrame = Frame(self.mainFrame) self.importTextFrame.pack(pady=5, side=TOP, fill=X) self.yTextScrollbar = Scrollbar(self.importTextFrame) self.yTextScrollbar.pack(side=RIGHT, fill=Y) self.xTextScrollbar = Scrollbar(self.importTextFrame, orient=HORIZONTAL) self.xTextScrollbar.pack(side=BOTTOM, fill=X) self.importUrlsText = Text(self.importTextFrame, padx=5, pady=5, wrap=NONE, width=50, height=10, yscrollcommand=self.yTextScrollbar.set, xscrollcommand=self.xTextScrollbar.set) self.importUrlsText.pack(side=TOP, padx=5, pady=5, fill=X) self.yTextScrollbar.config(command=self.importUrlsText.yview) self.xTextScrollbar.config(command=self.importUrlsText.xview) self.outputLabelFrame = Frame(self.mainFrame) self.outputLabelFrame.pack(pady=5, side=TOP, fill=X) self.outputFileLabel = Label(self.outputLabelFrame, text="Path to the output folder:") self.outputFileLabel.pack(side=LEFT, padx=5) self.outputFieldFrame = Frame(self.mainFrame) self.outputFieldFrame.pack(pady=5, side=TOP, fill=X) self.outputFieldEntry = Entry(self.outputFieldFrame, name="outputFile", width=30) self.outputFieldEntry.pack(side=LEFT, padx=5) self.btnBrowse = Button(self.outputFieldFrame, height=1, width=6, text="Browse...", command=self.browse) self.btnBrowse.pack(side=RIGHT, padx=5) self.controlsFrame = Frame(self.mainFrame) self.controlsFrame.pack(pady=5, side=TOP, fill=X) self.btnClose = Button(self.controlsFrame, height=1, width=6, text="Close", command=self.close) self.btnClose.pack(side=LEFT, padx=5) self.btnRun = Button(self.controlsFrame, height=1, width=6, text="Run", command=self.run) self.btnRun.pack(side=RIGHT, padx=5) # *** PROGRESS BAR *** self.status = Progressbar(self.mainFrame, orient='horizontal', length=310, mode='determinate', value=0, maximum=100) self.status.pack(pady=5, padx=5, side=BOTTOM)
def createWidgets(self, settings): row = 0 # 公众号ID self.lbl_appid = Label(self, text=u"公众帐号ID", fg='red') self.lbl_appid.grid(column=0, row=row, sticky=(E, N)) self.var_appid = StringVar(self, value=settings.get('appid')) self.txt_appid = Entry(self, textvariable=self.var_appid, width=60, font=self.font) self.txt_appid.grid(column=1, row=row, columnspan=2, sticky=(W, N)) row += 1 # 商户号 self.lbl_mch_id = Label(self, text=u"商户号", fg='red') self.lbl_mch_id.grid(column=0, row=row, sticky=(E, N)) self.var_mch_id = StringVar(self, value=settings.get('mch_id')) self.txt_mch_id = Entry(self, textvariable=self.var_mch_id, width=60, font=self.font) self.txt_mch_id.grid(column=1, row=row, columnspan=2, sticky=(W, N)) row += 1 # 商户密钥 self.lbl_mch_key = Label(self, text=u"商户密钥", fg='red') self.lbl_mch_key.grid(column=0, row=row, sticky=(E, N)) self.var_mch_key = StringVar(self, value=settings.get('mch_key')) self.txt_mch_key = Entry(self, textvariable=self.var_mch_key, width=60, font=self.font) self.txt_mch_key.grid(column=1, row=row, columnspan=2, sticky=(W, N)) row += 1 # 子商户号 self.lbl_sub_mch_id = Label(self, text=u"子商户号") self.lbl_sub_mch_id.grid(column=0, row=row, sticky=(E, N)) self.txt_sub_mch_id = Text(self, height=5, width=60, font=self.font) if settings.get('sub_mch_id'): self.txt_sub_mch_id.insert(END, settings.get('sub_mch_id')) self.txt_sub_mch_id.grid(column=1, row=row, columnspan=2, sticky=(W, N)) row += 1 # 开始日期 self.lbl_bill_date_from = Label(self, text=u"开始日期", fg='red') self.lbl_bill_date_from.grid(column=0, row=row, sticky=(E, N)) self.var_bill_date_from = StringVar() self.var_bill_date_from.set( (datetime.now() - timedelta(days=1)).strftime("%Y%m%d")) self.txt_bill_date_from = Entry(self, width=8, textvariable=self.var_bill_date_from, font=self.font) self.txt_bill_date_from.grid(column=1, row=row, columnspan=2, sticky=(W, N)) row += 1 # 结束日期 self.lbl_bill_date_to = Label(self, text=u"结束日期") self.lbl_bill_date_to.grid(column=0, row=row, sticky=(E, N)) self.var_bill_date_to = StringVar() self.txt_bill_date_to = Entry(self, width=8, textvariable=self.var_bill_date_to, font=self.font) self.txt_bill_date_to.grid(column=1, row=row, columnspan=2, sticky=(W, N)) row += 1 # 输出目录 self.lbl_path = Label(self, text=u"输出目录", fg='red') self.lbl_path.grid(column=0, row=row, sticky=(E, N)) path = settings.get('path') self.var_path = StringVar( self, value=path if path else os.path.dirname(os.path.abspath(cur_path))) self.txt_path = Entry(self, textvariable=self.var_path, width=55, font=self.font) self.txt_path.grid(column=1, row=row, sticky=(W, N, E)) self.btn_select_path = Button(self, text=u"...", command=self.select_path) self.btn_select_path.grid(column=2, row=row, sticky=(E)) row += 1 # 进度条 self.prg_bar = Progressbar(self) self.prg_bar.grid(column=0, row=row, columnspan=3, sticky=(W, E), pady=(10, 0)) row += 1 # 执行按钮 buttonFrame = Frame(self) buttonFrame.grid(column=0, row=row, columnspan=3, pady=(15, 0), sticky=(W, E)) self.btn_run = Button(buttonFrame, width=20, text=u"下载", fg='blue', command=self.run) self.btn_run.pack()
def __init__(self, parent, *args, **kwargs): self.pssm = Pssm( path_to_lookup=AssetWrapper('micall/g2p/g2p_fpr.txt').path, path_to_matrix=AssetWrapper('micall/g2p/g2p.matrix').path) tk.Frame.__init__(self, parent, *args, **kwargs) self.parent = parent parent.report_callback_exception = self.report_callback_exception self.rundir = None # path to MiSeq run folder containing data self.workdir = gettempdir() # default to temp directory os.chdir(self.workdir) self.line_counter = LineCounter() self.run_info = None self.target_files = [] self.button_frame = tk.Frame(self) self.button_frame.pack(side='top') self.console_frame = tk.Frame(self) self.console_frame.pack(side='top', fill='both', expand=True) try: with open(MiCall.CONFIG_FILE, 'rU') as f: self.config = json.load(f) except: self.config = {} self.nthreads = self.config.get('threads', None) if not self.nthreads: self.nthreads = int(round(cpu_count() * 0.5)) self.config['threads'] = self.nthreads self.write_config() self.button_run = tk.Button(self.button_frame, text="Run", command=self.process_files) self.button_run.grid(row=0, column=1, sticky='W') self.progress_bar = Progressbar(self.button_frame, orient='horizontal', length=500, mode='determinate') self.progress_bar.grid(row=1, columnspan=5) scrollbar = tk.Scrollbar(self.console_frame) scrollbar.pack(side=tk.RIGHT, fill=tk.Y) self.console = tk.Text(self.console_frame, bg='black', fg='white', yscrollcommand=scrollbar.set) self.console.pack(side=tk.LEFT, fill=tk.BOTH) self.console.tag_configure('ERROR', foreground="red") scrollbar.config(command=self.console.yview) # redirect stderr to Text widget #sys.stderr = Redirector(self.console) self.write('Welcome to MiCall v{}, running with {} threads.\n'.format( pipeline_version, self.nthreads))
def __init__(self, master): self.root = master self.searching = False self.can_download = True audiojack.set_useragent('AudioJack', '1.0') self.frame = ScrollableFrame(self.root) self.frame.setconfig(bg='#0D47A1', width=1280, height=720) self.frame.pack(side=TOP, fill=BOTH, expand=1) self.label = Label(self.frame.mainframe, text='AudioJack', fg='#ffffff', bg=self.frame.mainframe['background'], font=('Segoe UI', 48)) self.label.pack() self.url_entry = Entry(self.frame.mainframe, width=48, font=('Segoe UI', 20), bg='#1565C0', bd=2, highlightthickness=1, highlightcolor='#1565C0', highlightbackground='#0D47A1', fg='#ffffff', insertbackground='#ffffff', relief=FLAT, insertwidth=1) self.url_entry.pack() self.submit_button = Button(self.frame.mainframe, width=60, font=('Segoe UI', 16), text='Go!', bd=0, bg='#1E88E5', fg='#ffffff', activebackground='#2196F3', activeforeground='#ffffff', relief=SUNKEN, cursor='hand2', command=self.submit) self.submit_button.pack() self.search_progress = Progressbar(self.frame.mainframe, orient='horizontal', length=720, maximum=100, mode='indeterminate') self.error_info = Label(self.frame.mainframe, fg='#ff0000', bg=self.frame.mainframe['background']) # Use pack_forget on this to reset the view self.contents = Frame(self.frame.mainframe, bg=self.frame.mainframe['background']) # Contains results and custom tag options self.select_frame = Frame(self.contents, bg=self.frame.mainframe['background']) self.select_frame.pack() # Search results self.results_queue = Queue.Queue() self.results_label = Label(self.select_frame, text='Results:', fg='#ffffff', bg=self.frame.mainframe['background']) self.results_frame = Frame(self.select_frame, bg=self.frame.mainframe['background']) self.results_label.pack() self.results_frame.pack() # Downloads self.file_label = Label(self.contents, fg='#ffffff', bg=self.frame.mainframe['background'])