def ui(): w = 0 c = 0 k = 0 root = Tk() root.title("Product Details") root.geometry("700x450+0+0") frame2 = Frame(root) frame2.pack(fill="both") tablayout = Notebook(frame2) tab1 = Frame(tablayout) tab1.pack(fill="both") for w in range(1, r + 2): newrow = customer.row_values(w) k = 1 for c in newrow: Label(tab1, text=c, width=15, bg="white", fg="black", padx=3, pady=3).grid(row=w, column=k, sticky="nsew", padx=1, pady=1) # Entry(tab1, bg=c, width=10).grid(row=r,column=1) k = k + 1 Label(tab1, text="Total Amount", width=15, bg="white", fg="black", padx=3, pady=3).grid(row=w + 1, column=k - 6, sticky="nsew", padx=1, pady=1) Label(tab1, text=sum, width=15, bg="white", fg="black", padx=3, pady=3).grid(row=w + 1, column=k - 5, sticky="nsew", padx=1, pady=1) tablayout.add(tab1) tablayout.pack(fill="both") root.mainloop()
def __init__(self, master, parent, command=None, close=None, onzero=None, **options): super().__init__(master) self.parent = parent if close is None: from tkinter.ttk import Notebook self.widget = Notebook(self.master, **options) else: from .widgets import CustomNotebook self.widget = CustomNotebook(self.master, **options) self.widget.enable_traversal() if close and not command is None: self.widget.bind("<<NotebookTabClosed>>", lambda null: command(self.value)) self.value = None self.widget.bind("<<NotebookTabChanged>>", self.callback) self.onzero = onzero
def __init__(self): Tk.__init__(self) self.notebook = Notebook(self) self.wm_title("Sensitivity Analysis Tool") self.notebook.grid() self.construct_home_tab() self.simulations = [] self.current_simulation = None self.current_tab = None self.abort = Value('b', False) self.abort_univar_overall = Value('b', False) self.simulation_vars = {} self.attributes("-topmost", True) self.tot_sim_num = 0 self.sims_completed = Value('i',0) self.start_time = None self.univar_plot_counter = 1 self.finished_figures = [] self.univar_row_num=0 self.last_results_plotted = None self.last_update = None
def __init__(self): super().__init__() self.title("Translation Book v1") self.geometry("500x300") #creating notebook object self.notebook = Notebook(self) english_tab = tk.Frame(self.notebook) korean_tab = tk.Frame(self.notebook) self.translate_button = tk.Button(english_tab, text="Translate", command=self.translate) self.translate_button.pack(side=tk.BOTTOM, fill=tk.X) self.english_entry = tk.Text(english_tab, bg="white", fg="black") self.english_entry.pack(side=tk.TOP, expand=1) self.korean_copy_button = tk.Button(korean_tab, text="Copy to Clipboard", command=self.copy_to_clipboard) self.korean_copy_button.pack(side=tk.BOTTOM, fill=tk.X) self.korean_translation = tk.StringVar(korean_tab) self.korean_translation.set("") self.korean_label = tk.Label(korean_tab, textvar=self.korean_translation, bg="lightgrey", fg="black") self.korean_label.pack(side=tk.TOP, fill=tk.BOTH, expand=1) self.notebook.add(english_tab, text="English") self.notebook.add(korean_tab, text="Korean") self.notebook.pack(fill=tk.BOTH, expand=1)
def __init__(self, master, app, *args, **kwargs): super().__init__(master, *args, **kwargs) l = Label(self, text='Data', font='Verdana 8 bold') l.pack(side='top', anchor='nw', padx=10) app.datanote = Notebook(self) fdframe = Frame(app.datanote) app.datanote.add(fdframe, text="Data", compound="top") app.table = FrameDataTable(fdframe) app.table.pack(side="top", fill='both', expand=1) dtbframe = Frame(app.datanote) app.datanote.add(dtbframe, text="Debug", compound='top') print("defining debug txt box ") app.debug_txt_box = Text(dtbframe) app.debug_txt_box.pack(side="top", fill='both', expand=1) app.datanote.pack(side="top", fill='both', expand=1) inpvarframe = Frame(self) inpvarframe.pack(side='top', fill='both', anchor='n') clearbtn = Button(inpvarframe, text='Clear', width=12) clearbtn.pack(side='right', padx=5, pady=10, anchor='ne') clearbtn.bind("<Button 1>", lambda e: app.clear_table(event=e)) recframe = Frame(inpvarframe) recframe.pack(side="right") Label(recframe, text="Record", font="Verdana 10").pack(side="top") app.recvar = StringVar() app.record_box = Checkbutton(recframe) app.record_box.bind("<Button-1>", app.toggle_record) app.record_box.pack(side='right') app.record_box.invoke() app.record_box.invoke()
def __init__(self, image_paths, page_classes): """ A class based on the ttk Notebook which combines GuiPage classes into a single window The page classes should be in order of their dependencies, with an independent class at index 0. Parameters ---------- image_paths : list[str] page_classes : list[GUIPage] """ self.image_paths = image_paths self.page_classes = page_classes self.pages = [] from tkinter import Tk from tkinter.ttk import Notebook self.root = root = Tk() root.protocol("WM_DELETE_WINDOW", lambda: (root.quit(), root.destroy())) self.notebook = notebook = Notebook(root) notebook.pack(expand=True, fill='both') self.bind_next_page(0)() self.root.mainloop()
def Checkpoints(): global show topic = ["No.","Room","Student Id","Name","Score"] #หัวตาราง ptr = 0 show = Toplevel(root) show.geometry("625x250+800+50") show.title("Show Student list and score") frame1 = Frame(show,bg='#FDF5E6') frame1.pack(fill="both") tablelayout = Notebook(frame1) tab1 = Frame(tablelayout,bg='#FDF5E6') tab1.pack(fill="both") checker(show) file=open("d:\\UserData\\STD_DATA.txt", "r") many = file.read() many = many.split(":") j = len(many) j = j//4 for row in range(0,j+1): for column in range(0,5): if row == 0: label = Label(tab1,text=topic[column],bg="#FDF5E6",padx=3,pady=3) label.grid(row=row,column=column,sticky="nsew",padx=1,pady=1) tab1.grid_columnconfigure(column,weight=1) elif column == 0: label = Label(tab1,text=row,bg="white",padx=3,pady=3) label.grid(row=row,column=column,sticky="nsew",padx=1,pady=1) tab1.grid_columnconfigure(column,weight=1) else: label = Label(tab1,text=str(many[ptr]),bg="white",padx=3,pady=3) label.grid(row=row,column=column,sticky="nsew",padx=1,pady=1) tab1.grid_columnconfigure(column,weight=1) ptr += 1 edit = Button(tab1,text="Edit",height=1,width=10,command=edit_tab,font=('supermarket'),bg='#FA8072') edit.grid(row=j+1,column=4,sticky="E") tablelayout.add(tab1,text="Student Data") tablelayout.pack(fill="both")
def __init__(self): super().__init__() self.title("Test Tool Platform:"+str(platform.system())) #self.NICE_wallpaper = tk.PhotoImage(file = "icons/pr6-01.png") #self.NICE_logo = tk.PhotoImage(file = "icons/1002nice_logo_full_light.png") #self.Allion_logo = tk.PhotoImage(file = "icons/logo_footer.png") w = 1180 # width for the Tk root h = 860 # height for the Tk root # get screen width and height ws = self.winfo_screenwidth() # width of the screen hs = self.winfo_screenheight() # height of the screen # calculate x and y coordinates for the Tk root window x = (ws/2) - (w/2) y = (hs/2) - (h/2) # set the dimensions of the screen # and where it is placed self.geometry('%dx%d+%d+%d' % (w, h, x, y)) #self.geometry("1440x1020") #self.init_menubar() #if platform.system() == "Windows": self.iconbitmap('icons\\screen_webcam_web_camera_icon_148791.ico') '''self.notebook''' self.notebook = Notebook(self) self.notebook.pack(side = tk.TOP,fill=tk.BOTH, expand=tk.YES) self.init_FrameViewer() self.init_ImgViewer() #self.init_Search_tab() self.init_SearchDocs_tab() self.init_SearchSceneMark_tab() self.init_SearchVideo_tab()
def create_widgets(self): ''' Crea todos los componentes de la ventana principal ''' #### TABS #### tabController = Notebook(self.root) tabController.grid(column=0, row=0) self.frameInicio = Frame(tabController, padding=(10, 10)) tabController.add(self.frameInicio, text="Inicio") self.frameCursantes = Frame(tabController, padding=(10, 10)) tabController.add(self.frameCursantes, text="Alumnos") self.frameDocentes = Frame(tabController, padding=(10, 10)) tabController.add(self.frameDocentes, text="Docentes") self.frameCursos = Frame(tabController, padding=(10, 10)) tabController.add(self.frameCursos, text="Cursos") lbl_curso = Label(self.frameInicio, text="Seleccione el curso:", width=35) lbl_curso.grid(row=0, column=0, columnspan=35, padx=(400, 0)) self.id_curso = StringVar() self.cb_curso = Combobox(self.frameInicio, textvariable=self.id_curso, width=20, state="readonly") self.cb_curso.grid(row=1, column=0, columnspan=20, padx=(400, 0)) self.cb_curso.bind("<<ComboboxSelected>>", self.selection_changed) self.create_tab_alumnos() self.create_tab_cursos() self.create_tab_docentes() self.update_tablas()
def __init__(self, parent, master): super(SimpleScatter, self).__init__(parent) self.window = master #type:VisAnaWindow self.parent = parent self.param_y = None self.param_x = None self.ds = self.window.ds #type:DataSource self.columnconfigure(1, weight=1) self.rowconfigure(0, weight=1) self.sidebar = Notebook(self) self.sidebar.grid(column=0, row=0, sticky=(S, W, N, E)) if self.ds is None: self.settings = SSControls(self.sidebar, self, None) self.sidebar.add(self.settings, text="Settings") #self.settings.grid(column=1, row=0, sticky=(S,W,N,E)) else: self.settings = SSControls(self.sidebar, self, self.ds.base().get_attr_names()) self.sidebar.add(self.settings, text="Settings") #self.settings.grid(column=0, row=0, sticky=(S,W,N,E)) self.param_x = self.settings.getX() self.param_y = self.settings.getY() self.create_tooltip_frame(destroy=False) self.was_normalized_before = False self.create_plot() self.select_rect = None
def __init__(self): self.root = Tk() VARIABLES.set_master(self.root) self.root.wm_title('asterios') self._init_menu() paned_window = PanedWindow(self.root, orient='vertical') nb = Notebook(paned_window) self.tips_text = Text(nb) nb.add(self.tips_text, text='tips') self.puzzle_text = PuzzleViewer(nb) nb.add(self.puzzle_text, text='puzzle') self.solver_text = CodeEditor(nb) nb.add(self.solver_text, text='solver') self.solver_text.insert( 'end', textwrap.dedent('''\ def solve(puzzle): """ Complete cette fonction """ puzzle_solved = '...' return puzzle_solved ''') ) self.notif_text = NotificationViewer(paned_window, relief='ridge', border=3) paned_window.add(nb, sticky='nsew') paned_window.add(self.notif_text, sticky='nsew', minsize=80) paned_window.pack(fill='both', expand=1) self.show_configuration_window()
def __init__(self): super().__init__() self.title("Interface da Cifra v1") self.geometry("500x300") self.notebook = Notebook(self) english_tab = tk.Frame(self.notebook) italian_tab = tk.Frame(self.notebook) self.translate_button = tk.Button(english_tab, text="CIFRAR", command=self.translate) self.translate_button.pack(side=tk.BOTTOM, fill=tk.X) self.english_entry = tk.Text(english_tab, bg="white", fg="black") self.english_entry.pack(side=tk.TOP, expand=1) self.italian_copy_button = tk.Button(italian_tab, text="Copiar resultados", command=self.copy_to_clipboard) self.italian_copy_button.pack(side=tk.BOTTOM, fill=tk.X) self.italian_translation = tk.StringVar(italian_tab) self.italian_translation.set("") self.italian_label = tk.Label(italian_tab, textvar=self.italian_translation, bg="lightgrey", fg="black") self.italian_label.pack(side=tk.TOP, fill=tk.BOTH, expand=1) self.notebook.add(english_tab, text="Texto Claro") self.notebook.add(italian_tab, text="Texto Cifrado") self.notebook.pack(fill=tk.BOTH, expand=1)
def __init__(self, master): Toplevel.__init__(self, master, class_=APP_NAME) self.title(_("Settings")) self.grab_set() self.columnconfigure(0, weight=1) self.columnconfigure(1, weight=1) self.rowconfigure(0, weight=1) self.resizable(True, True) self.minsize(470, 574) style = Style(self) self._bg = style.lookup('TFrame', 'background') self.notebook = Notebook(self) self._validate = self.register(self._validate_entry_nb) self.img_color = PhotoImage(master=self, file=IM_COLOR) self.lang = StringVar(self, LANGUAGES[CONFIG.get("General", "language")]) self.gui = StringVar(self, CONFIG.get("General", "trayicon").capitalize()) self._init_general() self._init_widget() self.notebook.grid(sticky='ewsn', row=0, column=0, columnspan=2) Button(self, text=_('Ok'), command=self.ok).grid(row=1, column=0, sticky='e', padx=4, pady=10) Button(self, text=_('Cancel'), command=self.destroy).grid(row=1, column=1, sticky='w', padx=4, pady=10)
def __init__(self): super().__init__() self.title("Test Tool Platform:" + str(platform.system())) w = 1000 # width for the Tk root h = 800 # height for the Tk root # get screen width and height ws = self.winfo_screenwidth() # width of the screen hs = self.winfo_screenheight() # height of the screen # calculate x and y coordinates for the Tk root window x = (ws / 2) - (w / 2) y = (hs / 2) - (h / 2) # set the dimensions of the screen # and where it is placed self.geometry('%dx%d+%d+%d' % (w, h, x, y)) '''self.notebook''' self.notebook = Notebook(self) self.notebook.pack(side=tk.TOP, fill=tk.BOTH, expand=tk.YES) self.init_FrameViewer()
def __init__(self): self.tk = Tk() self.tk.minsize(1000, 600) self.tk.title('Прайс-мастер (версия 0.15)') self.db = DataBase() self.db.openData() self.theme = Theme(self.tk) self.theme.refresh() self.vld = Validator(self.tk) self.grd = Grider() self.trn = Translater() self.main_menu = Menu(self.tk) self.tk.config(menu=self.main_menu) self.pl_menu = Menu(self.main_menu, tearoff=0) self.main_menu.add_cascade(label="Импорт/экспорт .pickle-файлов", menu=self.pl_menu) self.pl_menu.add_command(command=self.import_pm_template, label="Обновить шаблон базы данных") self.pl_menu.add_command(command=self.export_pm_data, label="Экспорт прайс-листа") nb = Notebook(self.tk) self.prcTab = PriceTab(self) self.debugXlsTab = DebugXlsTab(self) self.importXlsTab = ImportXlsTab(self) self.prcTab.reset() nb.add(self.prcTab.frmTab, text='Прайс-лист') nb.add(self.debugXlsTab.frmTab, text='Отладка .xls-файлов') nb.add(self.importXlsTab.frmTab, text='Импорт .xls-файлов') nb.pack(expand=True, fill='both') self.tk.mainloop()
def __init__(self, title='PyCX Simulator', interval=0, stepSize=1, parameterSetters=[]): ## all GUI variables moved to inside constructor by Hiroki Sayama 10/09/2018 self.titleText = title self.timeInterval = interval self.stepSize = stepSize self.parameterSetters = parameterSetters self.varEntries = {} self.statusStr = "" self.running = False self.modelFigure = None self.currentStep = 0 # initGUI() removed by Hiroki Sayama 10/09/2018 #create root window self.rootWindow = Tk() self.statusText = StringVar( self.rootWindow, value=self.statusStr) # at this point, statusStr = "" # added "self.rootWindow" above by Hiroki Sayama 10/09/2018 self.setStatusStr("Simulation not yet started") self.rootWindow.wm_title( self.titleText) # titleText = 'PyCX Simulator' self.rootWindow.protocol('WM_DELETE_WINDOW', self.quitGUI) self.rootWindow.geometry('450x300') self.rootWindow.columnconfigure(0, weight=1) self.rootWindow.rowconfigure(0, weight=1) self.notebook = Notebook(self.rootWindow) # self.notebook.grid(row=0,column=0,padx=2,pady=2,sticky='nswe') # commented out by toshi on 2016-06-21(Tue) 18:30:25 self.notebook.pack(side=TOP, padx=2, pady=2) # added "self.rootWindow" by Hiroki Sayama 10/09/2018 self.frameRun = Frame(self.rootWindow) self.frameSettings = Frame(self.rootWindow) self.frameParameters = Frame(self.rootWindow) self.frameInformation = Frame(self.rootWindow) self.notebook.add(self.frameRun, text="Run") self.notebook.add(self.frameSettings, text="Settings") self.notebook.add(self.frameParameters, text="Parameters") self.notebook.add(self.frameInformation, text="Info") self.notebook.pack(expand=NO, fill=BOTH, padx=5, pady=5, side=TOP) # self.notebook.grid(row=0, column=0, padx=5, pady=5, sticky='nswe') # commented out by toshi on 2016-06-21(Tue) 18:31:02 self.status = Label(self.rootWindow, width=40, height=3, relief=SUNKEN, bd=1, textvariable=self.statusText) # self.status.grid(row=1,column=0,padx=5,pady=5,sticky='nswe') # commented out by toshi on 2016-06-21(Tue) 18:31:17 self.status.pack(side=TOP, fill=X, padx=5, pady=5, expand=NO) # ----------------------------------- # frameRun # ----------------------------------- # buttonRun self.runPauseString = StringVar( self.rootWindow ) # added "self.rootWindow" by Hiroki Sayama 10/09/2018 self.runPauseString.set("Run") self.buttonRun = Button(self.frameRun, width=30, height=2, textvariable=self.runPauseString, command=self.runEvent) self.buttonRun.pack(side=TOP, padx=5, pady=5) self.showHelp( self.buttonRun, "Runs the simulation (or pauses the running simulation)") # buttonStep self.buttonStep = Button(self.frameRun, width=30, height=2, text='Step Once', command=self.stepOnce) self.buttonStep.pack(side=TOP, padx=5, pady=5) self.showHelp(self.buttonStep, "Steps the simulation only once") # buttonReset self.buttonReset = Button(self.frameRun, width=30, height=2, text='Reset', command=self.resetModel) self.buttonReset.pack(side=TOP, padx=5, pady=5) self.showHelp(self.buttonReset, "Resets the simulation") # ----------------------------------- # frameSettings # ----------------------------------- can = Canvas(self.frameSettings) lab = Label(can, width=25, height=1, text="Step size ", justify=LEFT, anchor=W, takefocus=0) lab.pack(side='left') self.stepScale = Scale(can, from_=1, to=50, resolution=1, command=self.changeStepSize, orient=HORIZONTAL, width=25, length=150) self.stepScale.set(self.stepSize) self.showHelp( self.stepScale, "Skips model redraw during every [n] simulation steps\nResults in a faster model run." ) self.stepScale.pack(side='left') can.pack(side='top') can = Canvas(self.frameSettings) lab = Label(can, width=25, height=1, text="Step visualization delay in ms ", justify=LEFT, anchor=W, takefocus=0) lab.pack(side='left') self.stepDelay = Scale(can, from_=0, to=max(2000, self.timeInterval), resolution=10, command=self.changeStepDelay, orient=HORIZONTAL, width=25, length=150) self.stepDelay.set(self.timeInterval) self.showHelp( self.stepDelay, "The visualization of each step is delays by the given number of milliseconds." ) self.stepDelay.pack(side='left') can.pack(side='top') # -------------------------------------------- # frameInformation # -------------------------------------------- scrollInfo = Scrollbar(self.frameInformation) self.textInformation = Text(self.frameInformation, width=45, height=13, bg='lightgray', wrap=WORD, font=("Courier", 10)) scrollInfo.pack(side=RIGHT, fill=Y) self.textInformation.pack(side=LEFT, fill=BOTH, expand=YES) scrollInfo.config(command=self.textInformation.yview) self.textInformation.config(yscrollcommand=scrollInfo.set) # -------------------------------------------- # ParameterSetters # -------------------------------------------- for variableSetter in self.parameterSetters: can = Canvas(self.frameParameters) lab = Label(can, width=25, height=1, text=variableSetter.__name__ + " ", anchor=W, takefocus=0) lab.pack(side='left') ent = Entry(can, width=11) ent.insert(0, str(variableSetter())) if variableSetter.__doc__ != None and len( variableSetter.__doc__) > 0: self.showHelp(ent, variableSetter.__doc__.strip()) ent.pack(side='left') can.pack(side='top') self.varEntries[variableSetter] = ent if len(self.parameterSetters) > 0: self.buttonSaveParameters = Button( self.frameParameters, width=50, height=1, command=self.saveParametersCmd, text="Save parameters to the running model", state=DISABLED) self.showHelp( self.buttonSaveParameters, "Saves the parameter values.\nNot all values may take effect on a running model\nA model reset might be required." ) self.buttonSaveParameters.pack(side='top', padx=5, pady=5) self.buttonSaveParametersAndReset = Button( self.frameParameters, width=50, height=1, command=self.saveParametersAndResetCmd, text="Save parameters to the model and reset the model") self.showHelp( self.buttonSaveParametersAndReset, "Saves the given parameter values and resets the model") self.buttonSaveParametersAndReset.pack(side='top', padx=5, pady=5)
def _criar_notebook(self): ''' Criar notebook p/ navegar entre varias telas. ''' self._note = Notebook(self, style='View.TNotebook') self._note.pack(fill='both', expand=True)
n_zE.set('') k_zE.set('') potokObsE.set('') p_ochE.set('') n_prE.set('') k_prE.set('') nE.set('') ########################## GUI ############################## root = tk.Tk() root.title('Системы Массового Обслуживания') canvas = tk.Canvas(root, height=HEIGHT, width=WIDTH) canvas.pack() tablayout = Notebook(root) ######################## Tab 1 ################### ##### ПЕРЕМЕННЫЕ ##### potokZavE = tk.StringVar() tAverageE = tk.StringVar() P0E = tk.StringVar() P1E = tk.StringVar() AE = tk.StringVar() QE = tk.StringVar() nagruzka_mE = tk.StringVar() pE = tk.StringVar() L_ochE = tk.StringVar() T_ochE = tk.StringVar() T_smoE = tk.StringVar()
def __init__(self, master): """Create note manager to easily delete multiple notes.""" Toplevel.__init__(self, master, class_='MyNotes') self.title(_("Note Manager")) self.minsize(width=546, height=200) self.grab_set() categories = CONFIG.options("Categories") categories.sort() self.im_del = PhotoImage(file=IM_DELETE, master=self) self.im_change = PhotoImage(file=IM_CHANGE, master=self) self.im_visible = PhotoImage(file=IM_VISIBLE_24, master=self) self.im_hidden = PhotoImage(file=IM_HIDDEN_24, master=self) tooltipwrapper = TooltipWrapper(self) self.notebook = Notebook(self) self.notebook.pack(fill='both', expand=True) self.texts = {} self.frames = {} self.notes = {} # to change notes category menu_cat = Menu(self, tearoff=False) self.category = StringVar(self) # create one tab per category for cat in categories: menu_cat.add_radiobutton(label=cat.capitalize(), value=cat, variable=self.category, command=self.change_cat_selection) self.notes[cat] = {} frame = Frame(self.notebook, padding=2) self.texts[cat] = Text(frame, width=1, height=1, bg=self.cget('bg'), relief='flat', highlightthickness=0, padx=0, pady=0, cursor='arrow') frame.columnconfigure(0, weight=1) frame.rowconfigure(1, weight=1) self.texts[cat].grid(row=1, column=0, sticky='ewsn') scrolly = Scrollbar(frame, orient='vertical', command=self.texts[cat].yview) scrolly.grid(row=1, column=1, sticky='ns', pady=(2, 0)) scrollx = Scrollbar(frame, orient='horizontal', command=self.texts[cat].xview) scrollx.grid(row=2, column=0, sticky='ew') self.texts[cat].configure(xscrollcommand=scrollx.set, yscrollcommand=scrolly.set) self.frames[cat] = Frame(self.texts[cat], style='bg.TFrame', padding=1, height=29, width=523) self.frames[cat].columnconfigure(0, weight=1, minsize=170) headings = Frame(frame, padding=(1, 0, 1, 0)) headings.columnconfigure(0, weight=0, minsize=20) headings.columnconfigure(1, weight=1, minsize=198) headings.columnconfigure(2, weight=1, minsize=198) headings.columnconfigure(3, weight=0, minsize=84) headings.columnconfigure(4, weight=0, minsize=22) Heading(headings, cat, 'title', command=self.sort_column, text=_('Title')).grid(row=0, column=1, sticky='ew') Heading(headings, cat, 'text', command=self.sort_column, text=_('Text')).grid(row=0, column=2, sticky='ew') Heading(headings, cat, 'date', command=self.sort_column, text=_('Date')).grid(row=0, column=3, sticky='ew') Heading(headings, cat, 'select_all', style='select.heading.TLabel', padding=0, command=self.toggle_selectall).place(x=0, y=0, anchor='nw', relheight=1, width=20) Heading(headings, cat, 'visibility', command=self.sort_column).place(relx=1, y=0, anchor='ne', bordermode='outside', width=23, relheight=1) headings.place(x=0, y=2, anchor='nw') self.update_idletasks() frame.rowconfigure(0, minsize=headings.winfo_reqheight()) self.texts[cat].window_create('1.0', window=self.frames[cat]) b_frame = Frame(frame) b_frame.grid(row=3, columnspan=2) m = Menubutton(b_frame, image=self.im_change, text=_('Change category'), compound='right', menu=menu_cat, padding=1) m.pack(side='left', padx=4, pady=4, fill='y') tooltipwrapper.add_tooltip(m, _('Change category of selected notes')) b_show = Button(b_frame, image=self.im_visible, padding=1, command=self.show_selection) b_show.pack(side='left', padx=4, pady=4) tooltipwrapper.add_tooltip(b_show, _('Show selected notes')) b_hide = Button(b_frame, image=self.im_hidden, padding=1, command=self.hide_selection) b_hide.pack(side='left', padx=4, pady=4) tooltipwrapper.add_tooltip(b_hide, _('Hide selected notes')) b_del = Button(b_frame, image=self.im_del, command=self.del_selection, padding=1) b_del.pack(side='left', padx=4, pady=4, fill='y') tooltipwrapper.add_tooltip(b_del, _('Delete selected notes')) self.notebook.add(frame, text=cat.capitalize(), sticky="ewsn", padding=0) # display notes by category for key, note_data in self.master.note_data.items(): self.display_note(key, note_data) for txt in self.texts.values(): txt.configure(state='disabled') self.geometry('410x450') self.bind("<Button-4>", lambda e: self.scroll(-1)) self.bind("<Button-5>", lambda e: self.scroll(1)) self.notebook.bind('<<NotebookTabChanged>>', self.on_change_tab)
from tkinter import * from tkinter.ttk import Notebook import subprocess as sub def addText(tab): tab.insert(END, sub.Popen('python "C:\\Users\\Bosua\\Desktop\\cmd.py"', stdout=sub.PIPE, stderr=sub.PIPE).communicate()[0]) root = Tk() nb = Notebook(root, height=240, width=480) tabs = {"foo": [], "bara": []} for tabname in tabs: tab = Text(nb) tabs[tabname] = tab nb.add(tab, text= tabname) nb.pack() # Button(root, text= "Add text!", command = lambda: addText(tabs["foo"])).pack() quitButton = Button(root, text="Quit", command=root.quit) quitButton.pack(side=RIGHT, padx=5, pady=5) bakupButton = Button(root, text="Backup", command=lambda: addText(tabs["foo"])) bakupButton.pack(side=RIGHT) root.mainloop()
def __init__(self): super().__init__() # ---------Initializing-------------------------------------- # import data for gamma, beta, and alpha radiation with open('gamma.pickle', 'rb') as handle: self.gamma_db = pickle.load(handle) with open('beta.pickle', 'rb') as handle: self.beta_db = pickle.load(handle) with open('alpha.pickle', 'rb') as handle: self.alpha_db = pickle.load(handle) # this data includes A, Z, name, half-life, and abundance of each isotope attached to each reference with open('parents.pickle', 'rb') as handle: self.parents1 = pickle.load(handle) # this data includes the decay mode and branching ratio attached to each reference with open('parents2.pickle', 'rb') as handle: self.parents2 = pickle.load(handle) with open('xray.pickle', 'rb') as handle: self.xray_db = pickle.load(handle) self.y_rads = [] # gamma self.b_rads = [] # beta self.a_rads = [] # alpha self.x_rads = [] #x-ray self.y_I = [] # gamma intensity self.b_I = [] # beta intensity self.a_I = [] # alpha intensity self.x_level = [] #orbital shell self.iso = [] self.hl = [] self.act = [] self.title("Table of Radioactive Isotopes Lookup") self.geometry("470x370") self.resizable(width=False, height=False) self.configure(background="Gray") self.columnconfigure(0, weight=1) self.rowconfigure(0, weight=1) # ---------Tabs---------------------------------------------- self.notebook = Notebook(self) self.tori_tab = tk.Frame(self.notebook) self.conversion_tab = tk.Frame(self.notebook) self.decay_tab = tk.Frame(self.notebook) self.xray_tab = tk.Frame(self.notebook) self.notebook.add(self.tori_tab, text='TORI') self.notebook.add(self.xray_tab, text='X-rays') self.notebook.add(self.decay_tab, text='Decay') self.notebook.add(self.conversion_tab, text='Conversion') # -------TORI TAB-------------------------------------------- # Row 0 # Create Frame 0 self.frame_zero = tk.Frame(self.tori_tab, bd=3, relief=tk.RIDGE) self.frame_zero.grid(row=0, column=0, sticky=tk.NSEW) self.isotope_input_label = tk.Label(self.frame_zero, text="Isotope:") self.isotope_input_label2 = tk.Label( self.frame_zero, text="(Ex: Cs-137, cs137,cesium-137, cesium137)") self.isotope_input = tk.Text(self.frame_zero, height=1, width=20) self.isotope_input_label.grid(row=0, column=0, sticky=tk.NSEW) self.isotope_input_label2.grid(row=0, column=2, rowspan=2, sticky=tk.NSEW) self.isotope_input.grid(row=0, column=1, sticky=tk.NSEW) # Row 1 # Create Frame 1 self.frame_one = tk.Frame(self.tori_tab) self.frame_one.grid(row=1, column=0, sticky=tk.NSEW) self.search_button = tk.Button(self.frame_one, text="Search") self.search_button.grid(row=0, column=0, sticky=tk.NSEW) self.print_button = tk.Button(self.frame_one, text="Print Data") self.print_button.grid(row=0, column=1, sticky=tk.NSEW) # Row 2 # Create Frame 2 self.frame_two = tk.Frame(self.tori_tab) self.frame_two.grid(row=2, column=0, sticky=tk.NSEW) self.gamma_label = tk.Label(self.frame_two, text="Gamma-Rays", width=20, relief=tk.RIDGE, padx=2) self.beta_label = tk.Label(self.frame_two, text="Beta Particles", width=20, relief=tk.RIDGE, padx=2) self.alpha_label = tk.Label(self.frame_two, text="Alpha Particles", width=20, relief=tk.RIDGE, padx=3) self.gamma_label.grid(row=0, column=0, columnspan=2, sticky=tk.NSEW) self.beta_label.grid(row=0, column=2, columnspan=2, sticky=tk.NSEW) self.alpha_label.grid(row=0, column=4, columnspan=2, sticky=tk.NSEW) # Row 3 # Create Frame 3 self.frame_three = tk.Frame(self.tori_tab) self.frame_three.grid(row=3, column=0, sticky=tk.NSEW) for i in range(6): energy_label = tk.Label(self.frame_three, text="Energy (keV)", width=10, bd=3, relief=tk.RIDGE) I_label = tk.Label(self.frame_three, text="Intensity %", width=9, bd=3, relief=tk.RIDGE) if i % 2 == 0: energy_label.grid(row=3, column=i, sticky="E") I_label.grid(row=3, column=i + 1, sticky="E") # Row 4 # Create Frame 4 self.frame_four = tk.Frame(self.tori_tab) self.frame_four.grid(row=4, column=0, sticky=tk.NSEW) self.canvas = tk.Canvas(self.frame_four, width=439, height=200, bd=3, relief=tk.RIDGE) # parent canvas to frame four self.canvas.grid(row=0, column=0, sticky=tk.NSEW) self.vsbar = tk.Scrollbar( self.frame_four, orient=tk.VERTICAL, command=self.canvas.yview) # create scroll bar to frame four self.vsbar.grid(row=0, column=1, sticky=tk.NSEW) self.canvas.configure( yscrollcommand=self.vsbar.set ) # configure canvas to respond to scrollbar object self.radiations_frame = tk.Frame( self.canvas, bd=3, relief=tk.RIDGE) # Create frame for radiations to be inserted onto self.canvas.create_window( (0, 0), window=self.radiations_frame, anchor=tk.NW) # create window with radiations frame self.radiations_frame.update_idletasks() # acquire bbox self.canvas.configure(scrollregion=self.canvas.bbox( tk.ALL)) # configure the canvas to scroll # -------CONVERSION TAB-------------------------------------------- self.start_var = tk.StringVar() self.end_var = tk.StringVar() # Row 0 self.frame_zero = tk.Frame(self.conversion_tab, bd=3, relief=tk.RIDGE) self.frame_zero.grid(row=0, column=0, sticky=tk.NSEW) self.curies_start = tk.Radiobutton(self.frame_zero, text='curies', variable=self.start_var, value='curies', tristatevalue=0) self.millicuries_start = tk.Radiobutton(self.frame_zero, text='millicuries', variable=self.start_var, value='millicuries', tristatevalue=0) self.microcuries_start = tk.Radiobutton(self.frame_zero, text='microcuries', variable=self.start_var, value='microcuries', tristatevalue=0) self.nanocuries_start = tk.Radiobutton(self.frame_zero, text='nanocuries', variable=self.start_var, value='nanocuries', tristatevalue=0) self.bq_start = tk.Radiobutton(self.frame_zero, text='Bq', variable=self.start_var, value='bq', tristatevalue=0) self.kbq_start = tk.Radiobutton(self.frame_zero, text='KBq', variable=self.start_var, value='kbq', tristatevalue=0) self.mbq_start = tk.Radiobutton(self.frame_zero, text='MBq', variable=self.start_var, value='mbq', tristatevalue=0) self.gbq_start = tk.Radiobutton(self.frame_zero, text='GBq', variable=self.start_var, value='gbq', tristatevalue=0) self.tbq_start = tk.Radiobutton(self.frame_zero, text='TBq', variable=self.start_var, value='tbq', tristatevalue=0) self.buffer = tk.Label(self.frame_zero, text="TO", padx=35) self.curies_end = tk.Radiobutton(self.frame_zero, text='curies', variable=self.end_var, value='curies', tristatevalue=0) self.millicuries_end = tk.Radiobutton(self.frame_zero, text='millicuries', variable=self.end_var, value='millicuries', tristatevalue=0) self.microcuries_end = tk.Radiobutton(self.frame_zero, text='microcuries', variable=self.end_var, value='microcuries', tristatevalue=0) self.nanocuries_end = tk.Radiobutton(self.frame_zero, text='nanocuries', variable=self.end_var, value='nanocuries', tristatevalue=0) self.bq_end = tk.Radiobutton(self.frame_zero, text='Bq', variable=self.end_var, value='bq', tristatevalue=0) self.kbq_end = tk.Radiobutton(self.frame_zero, text='KBq', variable=self.end_var, value='kbq', tristatevalue=0) self.mbq_end = tk.Radiobutton(self.frame_zero, text='MBq', variable=self.end_var, value='mbq', tristatevalue=0) self.gbq_end = tk.Radiobutton(self.frame_zero, text='GBq', variable=self.end_var, value='gbq', tristatevalue=0) self.tbq_end = tk.Radiobutton(self.frame_zero, text='TBq', variable=self.end_var, value='tbq', tristatevalue=0) self.curies_start.grid(row=0, column=0, sticky=tk.W) self.millicuries_start.grid(row=1, column=0, sticky=tk.W) self.microcuries_start.grid(row=2, column=0, sticky=tk.W) self.nanocuries_start.grid(row=3, column=0, sticky=tk.W) self.bq_start.grid(row=4, column=0, sticky=tk.W) self.kbq_start.grid(row=5, column=0, sticky=tk.W) self.mbq_start.grid(row=6, column=0, sticky=tk.W) self.gbq_start.grid(row=7, column=0, sticky=tk.W) self.tbq_start.grid(row=8, column=0, sticky=tk.W) self.buffer.grid(row=0, column=1, rowspan=9, sticky=tk.W) self.curies_end.grid(row=0, column=2, sticky=tk.W) self.millicuries_end.grid(row=1, column=2, sticky=tk.W) self.microcuries_end.grid(row=2, column=2, sticky=tk.W) self.nanocuries_end.grid(row=3, column=2, sticky=tk.W) self.bq_end.grid(row=4, column=2, sticky=tk.W) self.kbq_end.grid(row=5, column=2, sticky=tk.W) self.mbq_end.grid(row=6, column=2, sticky=tk.W) self.gbq_end.grid(row=7, column=2, sticky=tk.W) self.tbq_end.grid(row=8, column=2, sticky=tk.W) # Row 1 self.frame_one = tk.Frame(self.conversion_tab, bd=3, relief=tk.RIDGE) self.frame_one.grid(row=1, column=0, sticky=tk.NSEW) self.calc_conv_button = tk.Button(self.frame_one, text="Calculate") self.calc_conv_button.grid(row=0, column=0, sticky=tk.NSEW) # Row 2 self.frame_two = tk.Frame(self.conversion_tab, bd=3, relief=tk.RIDGE) self.frame_two.grid(row=2, column=0, sticky=tk.NSEW) self.start_entry = tk.Text(self.frame_two, height=1, width=20) self.start_entry_label = tk.Label(self.frame_two, text="Start Value:") self.start_entry_label.grid(row=0, column=0, sticky=tk.NSEW) self.start_entry.grid(row=0, column=1, sticky=tk.NSEW) # Row 3 self.frame_three = tk.Frame(self.conversion_tab, bd=3, relief=tk.RIDGE) self.frame_three.grid(row=3, column=0, sticky=tk.NSEW) self.end_entry_label = tk.Label(self.frame_three, text="End Value:") self.end_entry_label.grid(row=0, column=0) # -------DECAY TAB-------------------------------------------- # Row 0 self.frame_zero = tk.Frame(self.decay_tab, bd=3, relief=tk.RIDGE) self.frame_zero.grid(row=0, column=0, sticky=tk.NSEW) self.iso_input_label = tk.Label(self.frame_zero, text="Isotope:") self.iso_input_label2 = tk.Label( self.frame_zero, text="(Ex: Cs-137, cs137,cesium-137, cesium137)") self.iso_input = tk.Text(self.frame_zero, height=1, width=20) self.iso_input_label.grid(row=0, column=0, sticky=tk.NSEW) self.iso_input_label2.grid(row=0, column=2, rowspan=2, sticky=tk.NSEW) self.iso_input.grid(row=0, column=1, sticky=tk.NSEW) option_list = ('cpm', 'dpm', 'pCi', 'nCi', 'uCi', 'mCi', 'Ci', 'Bq', 'kBq', 'MBq', 'GBq', 'TBq') self.v = tk.StringVar() self.v.set(option_list[0]) # Row 1 self.frame_one = tk.Frame(self.decay_tab, bd=3, relief=tk.RIDGE) self.frame_one.grid(row=1, column=0, sticky=tk.NSEW) self.orig_act = tk.Label(self.frame_one, text="Enter Original Activity:") self.orig_act_input = tk.Text(self.frame_one, height=1, width=20) self.dropdown = tk.OptionMenu(self.frame_one, self.v, *option_list) self.decay_button = tk.Button(self.frame_one, text="Calculate") self.orig_act.grid(row=0, column=0) self.orig_act_input.grid(row=0, column=1) self.dropdown.grid(row=0, column=2) self.decay_button.grid(row=0, column=3, sticky=tk.NSEW) # Row 2 self.frame_two = tk.Frame(self.decay_tab, bd=3, relief=tk.RIDGE) self.frame_two.grid(row=2, column=0, sticky=tk.NSEW) self.start_date_label = tk.Label( self.frame_two, text="Enter Original Date(MM/DD/YYYY):") self.start_date_input = tk.Text(self.frame_two, height=1, width=20) self.start_date_label.grid(row=0, column=0) self.start_date_input.grid(row=0, column=1) # Row 3 self.frame_three = tk.Frame(self.decay_tab, bd=3, relief=tk.RIDGE) self.frame_three.grid(row=3, column=0, sticky=tk.NSEW) self.end_date_label = tk.Label(self.frame_three, text="Enter End Date (MM/DD/YYYY):") self.end_date_input = tk.Text(self.frame_three, height=1, width=20) self.end_date_label.grid(row=0, column=0) self.end_date_input.grid(row=0, column=1) # Row 4 self.frame_four = tk.Frame(self.decay_tab, bd=3, relief=tk.RIDGE) self.frame_four.grid(row=4, column=0, sticky=tk.NSEW) self.iso_label = tk.Label(self.frame_four, text="Isotope:") self.iso_label.grid(row=0, column=0) # Row 5 self.frame_five = tk.Frame(self.decay_tab, bd=3, relief=tk.RIDGE) self.frame_five.grid(row=5, column=0, sticky=tk.NSEW) self.half_life_label = tk.Label(self.frame_five, text="Half-life:") self.half_life_label.grid(row=0, column=0) # Row 6 self.frame_six = tk.Frame(self.decay_tab, bd=3, relief=tk.RIDGE) self.frame_six.grid(row=6, column=0, sticky=tk.NSEW) self.end_act_label = tk.Label(self.frame_six, text="Decayed Activity:") self.end_act_label.grid(row=0, column=0) # -------X-RAY TAB-------------------------------------------- # Row 0 self.frame_zero = tk.Frame(self.xray_tab, bd=3, relief=tk.RIDGE) self.frame_zero.grid(row=0, column=0, sticky=tk.NSEW) self.ele_input_label = tk.Label(self.frame_zero, text="Element:") self.ele_input_label2 = tk.Label(self.frame_zero, text="(Ex: Cs, cs, cesium)") self.ele_input = tk.Text(self.frame_zero, height=1, width=20) self.xray_search_button = tk.Button(self.frame_zero, text='Search') self.ele_input_label.grid(row=0, column=0, sticky=tk.NSEW) self.ele_input_label2.grid(row=0, column=2, rowspan=2, sticky=tk.NSEW) self.ele_input.grid(row=0, column=1, sticky=tk.NSEW) self.xray_search_button.grid(row=0, column=3) # Row 1 self.frame_one = tk.Frame(self.xray_tab, bd=3, relief=tk.RIDGE) self.frame_one.grid(row=1, column=0, sticky=tk.NSEW) self.x_label1 = tk.Label(self.frame_one, text="Energy (keV)", width=15, bd=3, relief=tk.RIDGE) self.x_label2 = tk.Label(self.frame_one, text="Orbital Shell", width=15, bd=3, relief=tk.RIDGE) self.x_label1.grid(row=0, column=0) self.x_label2.grid(row=0, column=1) # Row 2 self.frame_twox = tk.Frame(self.xray_tab) self.frame_twox.grid(row=2, column=0, sticky=tk.NSEW) self.x_canvas = tk.Canvas( self.frame_twox, width=439, height=200, bd=3, relief=tk.RIDGE) # parent canvas to frame four self.x_canvas.grid(row=0, column=0) self.x_vsbar = tk.Scrollbar( self.frame_twox, orient=tk.VERTICAL, command=self.x_canvas.yview) # create scroll bar to frame four self.x_vsbar.grid(row=0, column=1, sticky=tk.NS) self.x_canvas.configure( yscrollcommand=self.x_vsbar.set ) # configure canvas to respond to scrollbar object self.x_frame = tk.Frame( self.x_canvas, bd=3, relief=tk.RIDGE) # Create frame for radiations to be inserted onto self.x_canvas.create_window( (0, 0), window=self.x_frame, anchor=tk.NW) # create window with radiations frame self.x_frame.update_idletasks() # acquire bbox self.x_canvas.configure(scrollregion=self.x_canvas.bbox( tk.ALL)) # configure the canvas to scroll self.testlabel = tk.Label(self.x_frame, text='TEST') self.testlabel.grid(row=0, column=0) #---------Binds--------------------------------------------- self.bind_all("<MouseWheel>", self.mouse_scroll) # TORI TAB self.search_button.bind( "<Button-1>", lambda foo: self.TORI_search(self, self.isotope_input)) self.print_button.bind("<Button-1>", self.print_data) self.isotope_input.bind( "<Return>", lambda foo: self.TORI_search(self, self.isotope_input)) # CONVERSION TAB self.calc_conv_button.bind("<Button-1>", self.calculate_conversion) self.start_entry.bind("<Return>", self.calculate_conversion) # DECAY TAB self.decay_button.bind("<Button-1>", self.calculate_decay) self.iso_input.bind("<Return>", self.calculate_decay) # XRAY TAB self.xray_search_button.bind("<Button-1>", self.search_xrays) self.ele_input.bind("<Return>", self.search_xrays) # ---------Notebook------------------------------------------ self.notebook.pack(fill=tk.BOTH, expand=1)
def Result_Print(): window = Tk() window.title("分析結果") window.geometry("600x900") frame2 = Frame(window) frame2.pack(fill="both") tablayout = Notebook(frame2) tablayout2 = Notebook(frame2) #交叉配對 ntab1 = Frame(tablayout2) ntab1.pack(fill="both") for row in range(len(name_n)): for column in range(1): label = Label(ntab1, width=25, height=2, text=name_n[row], bg="black", fg="white", padx=1, pady=1) label.grid(row=row, column=column, sticky="nsew", padx=1, pady=1) ntab1.grid_columnconfigure(column, weight=1) for row in range(len(name_n)): for column in range(1): label = Label(ntab1, width=5, height=2, text="%s" % rate_n[row], bg="black", fg="white", padx=1, pady=1) label.grid(row=row, column=1, sticky="nsew", padx=1, pady=1) ntab1.grid_columnconfigure(column, weight=1) for row in range(len(name_n)): for column in range(1): label = Label(ntab1, width=12, height=2, text="% 相似程度", bg="black", fg="white", padx=1, pady=1) label.grid(row=row, column=2, sticky="nsew", padx=1, pady=1) ntab1.grid_columnconfigure(column, weight=1) tablayout2.add(ntab1, text="交叉配對結果") ntab2 = Frame(tablayout2) ntab2.pack(fill="both") for row in range(len(ncol)): for column in range(1): label = Label(ntab2, width=22, height=1, text=ncol[row], bg="black", fg="white", padx=1, pady=1) label.grid(row=row, column=0, sticky="nsew", padx=1, pady=1) ntab1.grid_columnconfigure(column, weight=1) for row in range(len(ncol)): for column in range(1): label = Label(ntab2, width=22, height=1, text=row_nf3[row], bg="black", fg="white", padx=1, pady=1) label.grid(row=row, column=1, sticky="nsew", padx=1, pady=1) ntab1.grid_columnconfigure(column, weight=1) tablayout2.add(ntab2, text="配方1") ntab3 = Frame(tablayout2) ntab3.pack(fill="both") for row in range(len(ncol)): for column in range(1): label = Label(ntab3, width=22, height=1, text=ncol[row], bg="black", fg="white", padx=1, pady=1) label.grid(row=row, column=0, sticky="nsew", padx=1, pady=1) ntab1.grid_columnconfigure(column, weight=1) for row in range(len(ncol)): for column in range(1): label = Label(ntab3, width=22, height=1, text=row_nf32[row], bg="black", fg="white", padx=1, pady=1) label.grid(row=row, column=1, sticky="nsew", padx=1, pady=1) ntab1.grid_columnconfigure(column, weight=1) tablayout2.add(ntab3, text="配方2") ntab4 = Frame(tablayout2) ntab4.pack(fill="both") for row in range(len(ncol)): for column in range(1): label = Label(ntab4, width=22, height=1, text=ncol[row], bg="black", fg="white", padx=1, pady=1) label.grid(row=row, column=0, sticky="nsew", padx=1, pady=1) ntab1.grid_columnconfigure(column, weight=1) for row in range(len(ncol)): for column in range(1): label = Label(ntab4, width=22, height=1, text=row_nf33[row], bg="black", fg="white", padx=1, pady=1) label.grid(row=row, column=1, sticky="nsew", padx=1, pady=1) ntab1.grid_columnconfigure(column, weight=1) tablayout2.add(ntab4, text="配方3") ntab5 = Frame(tablayout2) ntab5.pack(fill="both") for row in range(len(ncol)): for column in range(1): label = Label(ntab5, width=22, height=1, text=ncol[row], bg="black", fg="white", padx=1, pady=1) label.grid(row=row, column=0, sticky="nsew", padx=1, pady=1) ntab1.grid_columnconfigure(column, weight=1) for row in range(len(ncol)): for column in range(1): label = Label(ntab5, width=22, height=1, text=row_nf3[row], bg="black", fg="white", padx=1, pady=1) label.grid(row=row, column=1, sticky="nsew", padx=1, pady=1) ntab1.grid_columnconfigure(column, weight=1) tablayout2.add(ntab5, text="最接近配方") #顏色分類 tab1 = Frame(tablayout) tab1.pack(fill="both") for row in range(len(name)): for column in range(1): label = Label(tab1, width=25, height=2, text=name[row], bg="black", fg="white", padx=1, pady=1) label.grid(row=row, column=column, sticky="nsew", padx=1, pady=1) tab1.grid_columnconfigure(column, weight=1) for row in range(len(name)): for column in range(1): label = Label(tab1, width=5, height=2, text="%s" % rate[row], bg="black", fg="white", padx=1, pady=1) label.grid(row=row, column=1, sticky="nsew", padx=1, pady=1) tab1.grid_columnconfigure(column, weight=1) for row in range(len(name)): for column in range(1): label = Label(tab1, width=12, height=2, text="% 相似程度", bg="black", fg="white", padx=1, pady=1) label.grid(row=row, column=2, sticky="nsew", padx=1, pady=1) tab1.grid_columnconfigure(column, weight=1) tablayout.add(tab1, text="顏色分類結果") tab2 = Frame(tablayout) tab2.pack(fill="both") for row in range(len(col)): for column in range(1): label = Label(tab2, width=22, height=1, text=col[row], bg="black", fg="white", padx=1, pady=1) label.grid(row=row, column=0, sticky="nsew", padx=1, pady=1) tab1.grid_columnconfigure(column, weight=1) for row in range(len(col)): for column in range(1): label = Label(tab2, width=22, height=1, text=row_df3[row], bg="black", fg="white", padx=1, pady=1) label.grid(row=row, column=1, sticky="nsew", padx=1, pady=1) tab1.grid_columnconfigure(column, weight=1) tablayout.add(tab2, text="配方1") tab3 = Frame(tablayout) tab3.pack(fill="both") for row in range(len(col)): for column in range(1): label = Label(tab3, width=22, height=1, text=col[row], bg="black", fg="white", padx=1, pady=1) label.grid(row=row, column=0, sticky="nsew", padx=1, pady=1) tab1.grid_columnconfigure(column, weight=1) for row in range(len(col)): for column in range(1): label = Label(tab3, width=22, height=1, text=row_df32[row], bg="black", fg="white", padx=1, pady=1) label.grid(row=row, column=1, sticky="nsew", padx=1, pady=1) tab1.grid_columnconfigure(column, weight=1) tablayout.add(tab3, text="配方2") tab4 = Frame(tablayout) tab4.pack(fill="both") for row in range(len(col)): for column in range(1): label = Label(tab4, width=22, height=1, text=col[row], bg="black", fg="white", padx=1, pady=1) label.grid(row=row, column=0, sticky="nsew", padx=1, pady=1) tab1.grid_columnconfigure(column, weight=1) for row in range(len(col)): for column in range(1): label = Label(tab4, width=22, height=1, text=row_df33[row], bg="black", fg="white", padx=1, pady=1) label.grid(row=row, column=1, sticky="nsew", padx=1, pady=1) tab1.grid_columnconfigure(column, weight=1) tablayout.add(tab4, text="配方3") tab5 = Frame(tablayout) tab5.pack(fill="both") for row in range(len(col)): for column in range(1): label = Label(tab5, width=22, height=1, text=col[row], bg="black", fg="white", padx=1, pady=1) label.grid(row=row, column=0, sticky="nsew", padx=1, pady=1) tab1.grid_columnconfigure(column, weight=1) for row in range(len(col)): for column in range(1): label = Label(tab5, width=22, height=1, text=row_text[row], bg="black", fg="white", padx=1, pady=1) label.grid(row=row, column=1, sticky="nsew", padx=1, pady=1) tab1.grid_columnconfigure(column, weight=1) tablayout.add(tab5, text="最接近配方") tablayout.pack() tablayout2.pack() window.mainloop()
def change_language(self): language = RUSSIAN_LANGUAGE if get_language( ) == UKRAINIAN_LANGUAGE else UKRAINIAN_LANGUAGE set_language(language) self.destroy_and_rebuild() self.update_table_data() def destroy_and_rebuild(self): for child in self.winfo_children(): child.destroy() self.set_widgets() self.grid_widgets() async def async_generator(generator): for item in generator: yield item if __name__ == '__main__': Base.metadata.create_all(engine) root = tk.Tk() note = Notebook(root) tab1 = Application(note) tab2 = tk.Frame(note) note.add(tab1, text='Main app') note.add(tab2, text='Additional tab') note.grid() root.mainloop()
def init_project_frame( self ) : projframe = Frame(self) ###################### #The Project Entry Form # #Current design inherited from others #is very bad. It should have been made as #json or dictionary as is in this point #then the subsequent coding will be much #eaiser. #BK ###################### BS=StringVar() self.eprojectid = eprojectid= StringVar() self.eorganism = eorganism=StringVar() self.eanalyst = eanalyst=StringVar() self.epoc = epoc=StringVar() self.epi = epi=StringVar() self.euser = euser=StringVar() self.eflowcell = eflowcell=StringVar() self.eplatform = eplatform=StringVar() eplatform.set("Illumina") self.technique = technique=StringVar() self.pipehome = pipehome=StringVar() pipehome.set(PIPELINER_HOME) editframe = Frame( self ) editframe.grid( column=0, row=3, columnspan=3 ) projpanel1 = LabelFrame(editframe,text="Project Information") #,fg=textLightColor,bg=baseColor) projpanel1.pack( side = TOP, fill=X, padx=10, pady=5, expand=YES ) pipeline_panel = LabelFrame(editframe, text="Global Settings") pipeline_panel.pack( side=TOP, fill=X, padx=10, pady=5, expand=YES ) l=Label( pipeline_panel, text="Genome:" ) l.grid(row=1,column=3,sticky=W,padx=0,pady=5) l = Label( pipeline_panel, text="Pipeline Family:" ) l.grid(row=1,column=1,sticky=W,padx=0,pady=5) annotations=['hg19','mm10','mm9','hg38','GRCh38'] self.annotation = annotation = StringVar() annotation.set(annotations[0]) #annotation.trace('w', lambda *_ :settargets(annotation) ) om = OptionMenu(pipeline_panel, annotation, *annotations, command=self.set_pipeline) #, command=lambda _:makejson("refsets")) om.config() #bg = widgetBgColor,fg=widgetFgColor) om["menu"].config() #bg = widgetBgColor,fg=widgetFgColor) om.grid(row=1,column=4,sticky=W,padx=10,pady=10) pfamilys = ['exomeseq', 'rnaseq', 'genomeseq', 'mirseq', 'ChIPseq', 'scrnaseq'] self.pfamily = pfamily = StringVar() pfamily.set('Select a pipeline') om = OptionMenu(pipeline_panel, pfamily, *pfamilys, command=self.set_pipeline) #, command=lambda _:makejson(pfamily.get())) om.config() #bg = widgetBgColor,fg=widgetFgColor) om["menu"].config() #bg = widgetBgColor,fg=widgetFgColor) om.grid(row=1,column=2,sticky=W,padx=10,pady=5) #add_button = Button( pipeline_panel, # text="Set a pipeline", # command=self.add_pipeline # ) #add_button.grid(row=1, column=5, sticky=W, padx=10, pady=5) self.notebook = notebook = Notebook( editframe ) self.pipelineframe = None #the pipeline frame in the notebook frame! projpanel2 = Frame(notebook) #,fg=textLightColor,bg=baseColor) projpanel2.pack( side = LEFT, fill=BOTH, padx=10, pady=5, expand=YES ) notebook.add( projpanel2, text="Project Description" ) notebook.pack( side=LEFT, fill=BOTH, padx=10, pady=5, expand=YES ) Dscrollbar = Scrollbar(projpanel2) Dscrollbar.grid(row=2,column=4,rowspan=40) self.description =description= Text(projpanel2, width=75, height=28, #bg=commentBgColor, #fg=commentFgColor, font=("nimbus mono bold","10"), yscrollcommand = Dscrollbar.set) description.delete("1.0", END) description.insert(INSERT, "Enter CCBR Project Description and Notes here.") #description.bind('<FocusOut>',lambda _:makejson("none")) description.grid(row=2,column=3,sticky="e",padx=10,pady=5) Dscrollbar['command']=description.yview L=Label(projpanel1, text="Project Id", anchor="ne" ) #,bg=baseColor,fg=textLightColor) E = Entry(projpanel1, bd =2, width=20, #bg=entryBgColor, #fg=entryFgColor, textvariable=eprojectid ) #L.pack(pady=5,padx=5) #E.pack(pady=1,padx=5) L.grid(row=0, column=0, sticky=W, padx=10, pady=5) E.grid(row=0, column=2, sticky=W, padx=10, pady=5) eprojectid.set("project") #eprojectid.trace('w', makejson) L2=Label(projpanel1, text = "(Examples: CCBR-nnn,Labname or short project name)", anchor="ne" )#,bg="firebrick",fg="white") L2.grid(row=0, column=3, padx=10, pady=5, sticky="w") L=Label( projpanel1, text="Email address", anchor="ne")#,bg=baseColor,fg=textLightColor) E = Entry( projpanel1, bd =2, width=20, #bg=entryBgColor, #fg=entryFgColor, textvariable=euser) L3 = Label(projpanel1, text ="(Mandatory field: must use @nih.gov email address)", anchor="ne") L3.grid(row=1,column=3,padx=10,pady=5,sticky="w") L.grid(row=1,column=0,sticky=W,padx=10,pady=5) E.grid(row=1,column=2,sticky=W,padx=10,pady=5) #euser.trace('w', makejson) L=Label(projpanel1,text="Flow Cell ID",anchor="ne") E = Entry(projpanel1, bd =2, width=20, textvariable=eflowcell )#, bg=entryBgColor) L4=Label( projpanel1, text="(Examples: FlowCellID, Labname, date or short project name)", anchor="ne" )#,bg="firebrick",fg="white") L4.grid(row=2,column=3,padx=10,pady=5,sticky="w") L.grid(row=2,column=0,sticky=W,padx=10,pady=5) E.grid(row=2,column=2,sticky=W,padx=10,pady=5) eflowcell.set("stats") #eflowcell.trace('w', makejson) Projscrollbar = Scrollbar(projframe) Projscrollbar.grid(row=2,column=4,rowspan=30 ) self.jsonconf = jsonconf = Text( projframe, width=80, height=30, #bg=projectBgColor, #fg=projectFgColor, font=("nimbus mono bold","11"), yscrollcommand = Projscrollbar.set) Projscrollbar['command']=jsonconf.yview jsonconf.grid(row=3,column=0,sticky="e",padx=10,pady=5)
def __init__(self, master): self.master = master self.abas = Notebook() self.frame_aba1 = Frame(self.abas) # Aba superior 'Débitos'. self.frame_aba2 = Frame(self.abas) # Aba 'REALIZAR PEDIDOS'. self.frame_aba3 = Frame(self.abas) # Aba 'ENTREGAS' self.abas.add(self.frame_aba1, text='Débitos') # Nomeando as abas. self.abas.add(self.frame_aba2, text='Realizar Pedido') # Nomeando as abas. self.abas.add(self.frame_aba3, text='Entregas') # Nomeando as abas. self.abas.pack(anchor=W) # Início quadrado ADICIONAR DÉBITO. self.frame = LabelFrame(self.frame_aba1, text='ADICIONAR DÉBITO') self.frame.grid(row=0, column=0, padx=20, pady=20) Label(self.frame, text='Nome :').grid(row=1, column=1) self.name = Entry(self.frame) self.name.grid(row=1, column=2, padx=10) Label(self.frame, text='Data de Nascimento :').grid(row=2, column=1) self.datanasci = Entry(self.frame) self.datanasci.grid(row=2, column=2) Label(self.frame, text='CPF :').grid(row=3, column=1) self.cpf = Entry(self.frame) self.cpf.grid(row=3, column=2) Label(self.frame, text='Data do Débito :').grid(row=4, column=1) self.datdeb = Entry(self.frame) self.datdeb.grid(row=4, column=2) Label(self.frame, text='Valor do Débito :').grid(row=5, column=1) self.valordeb = Entry(self.frame) self.valordeb.grid(row=5, column=2) self.btn1 = Button(self.frame, text='ENVIAR', command=self.enviar_nome) self.btn1.grid(row=6, column=2, pady=10) # Início quadrado Buscar/Deletar Débitos. self.frame2 = LabelFrame(self.frame_aba1, text='BUSCAR/DELETAR DÉBITOS') self.frame2.grid(row=1, column=0) Label(self.frame2, text='Buscar por Nome :').grid(row=1, column=1) self.busnome = Entry(self.frame2) self.busnome.grid(row=1, column=2, padx=10) Label(self.frame2, text='Buscar por CPF :').grid(row=2, column=1) self.buscpf = Entry(self.frame2) self.buscpf.grid(row=2, column=2) Label(self.frame2, text='Buscar Pessoa').grid(row=3, column=1) Label(self.frame2, text='Deletar Débito').grid(row=3, column=2) self.btn2 = Button(self.frame2, text='BUSCAR') self.btn2.grid(row=4, column=1, pady=10) self.btn3 = Button(self.frame2, text='DELETAR', command=self.deletar_nome) self.btn3.grid(row=4, column=2) # Início tabela Treeview. self.tree = ttk.Treeview(self.frame_aba1, height=20, columns=('Nº', 'Nome', 'Valor do Débito', 'Data do Débito', 'CPF')) self.tree.grid(row=0, column=1, rowspan=10) self.tree.heading('#0', text='Nº', anchor=W) self.tree.heading('#1', text='Nome', anchor=W) self.tree.heading('#2', text='Valor do Débito', anchor=W) self.tree.heading('#3', text='Data do Débito', anchor=W) self.tree.heading('#4', text='CPF', anchor=W) self.tree.heading('#5', text='Data Nascimento', anchor=W) self.tree.column('#0', minwidth=50, width=80) self.tree.column('#1', minwidth=50, width=250) self.tree.column('#2', minwidth=50, width=150) self.tree.column('#3', minwidth=50, width=150) self.tree.column('#4', minwidth=100, width=200) self.tree.column('#5', minwidth=50, width=150) self.treeview = self.tree self.i = 1 # Scrollbar da tabela Treeview. self.yscroll = Scrollbar(self.frame_aba1, orient=VERTICAL) self.tree['yscrollcommand'] = self.yscroll.set self.yscroll['command'] = self.tree.yview() self.yscroll.grid(row=0, column=1, rowspan=10, sticky=N+S+E) ############################## ABA REALIZAR PEDIDO ######################################### self.frame3 = LabelFrame(self.frame_aba2, text='INFORMAÇÕES DO PEDIDO') self.frame3.grid(row=0, column=0, padx=10, pady=10) Label(self.frame3, text='Nome :').grid(row=0, column=0) self.nameframe3 = Entry(self.frame3) self.nameframe3.grid(row=0, column=1) Label(self.frame3, text='Entregar Dia :').grid(row=1, column=0) self.entdia = Entry(self.frame3) self.entdia.grid(row=1, column=1) Label(self.frame3, text='Endereço :').grid(row=0, column=2) self.ende = Entry(self.frame3) self.ende.grid(row=0, column=3) Label(self.frame3, text='Bairro :').grid(row=1, column=2) self.bairro = Entry(self.frame3) self.bairro.grid(row=1, column=3) Label(self.frame3, text='CEP :').grid(row=0, column=4) self.cep = Entry(self.frame3) self.cep.grid(row=0, column=5) Label(self.frame3, text='Ponto de Referência :').grid(row=1, column=4) self.pontodr = Entry(self.frame3) self.pontodr.grid(row=1, column=5) Label(self.frame3, text='Fone 1 :').grid(row=0, column=6) self.fone1 = Entry(self.frame3) self.fone1.grid(row=0, column=7) Label(self.frame3, text='Fone 2 :').grid(row=1, column=6) self.fone2 = Entry(self.frame3) self.fone2.grid(row=1, column=7, padx=10, pady=10) self.frame4 = LabelFrame(self.frame_aba2, text='INFORME AQUI OS PRODUTOS DO PEDIDO') self.frame4.grid(row=1, column=0) self.entradap = Text(self.frame4) self.entradap.grid(row=2, column=0, padx=10, pady=10) self.btn4 = Button(self.frame4, text='ENVIAR') self.btn4.grid(row=3, column=0, pady=10)
def __init__(self, master): Toplevel.__init__(self, master) self.title(_("Delete")) self.grab_set() categories = CONFIG.options("Categories") categories.sort() self.im_moins = PhotoImage(file=IM_MOINS, master=self) self.notebook = Notebook(self) self.notebook.pack(fill='both', expand=True) self.texts = {} frames = {} self.notes = {} for cat in categories: frame = Frame(self.notebook) self.texts[cat] = Text(frame, width=1, height=1, bg=self.cget('bg'), relief='flat', highlightthickness=0, padx=4, pady=4, cursor='arrow') frame.columnconfigure(0, weight=1) frame.rowconfigure(0, weight=1) self.texts[cat].grid(row=0, column=0, sticky='ewsn', padx=(0, 2)) scrolly = Scrollbar(frame, orient='vertical', command=self.texts[cat].yview) scrolly.grid(row=0, column=1, sticky='ns') scrollx = Scrollbar(frame, orient='horizontal', command=self.texts[cat].xview) scrollx.grid(row=1, column=0, sticky='ew') self.texts[cat].configure(xscrollcommand=scrollx.set, yscrollcommand=scrolly.set) frames[cat] = Frame(self.texts[cat]) frames[cat].columnconfigure(0, weight=1, minsize=170) frames[cat].columnconfigure(1, weight=1, minsize=170) frames[cat].columnconfigure(2, minsize=20) self.texts[cat].window_create('1.0', window=frames[cat]) self.notebook.add(frame, text=cat.capitalize(), sticky="ewsn", padding=0) for key, note_data in self.master.note_data.items(): cat = note_data["category"] c, r = frames[cat].grid_size() self.notes[key] = [] title = note_data['title'][:20] title = title.replace('\t', ' ') + ' ' * (20 - len(title)) self.notes[key].append( Label(frames[cat], text=title, font='TkDefaultFont 10 bold')) txt = note_data['txt'].splitlines() if txt: txt = txt[0][:17] + '...' else: txt = '' txt = txt.replace('\t', ' ') + ' ' * (20 - len(txt)) self.notes[key].append(Label(frames[cat], text=txt)) self.notes[key].append( Button(frames[cat], image=self.im_moins, command=lambda iid=key: self.delete_note(iid))) for i, widget in enumerate(self.notes[key]): widget.grid(row=r, column=i, sticky='w', padx=4, pady=4) for txt in self.texts.values(): txt.configure(state='disabled') self.geometry('410x450') self.bind_all("<Button-4>", lambda e: self.scroll(-1)) self.bind_all("<Button-5>", lambda e: self.scroll(1))
# def New_Month(): # # print('yes1') # Addexpense() # # print(expense_tracker.get_LON_items()[0]) # GUI = Tk() GUI.title('** Expense Recorder **') GUI.geometry('1000x600') # Maximize windrow # GUI. state ('zoomed') Tab = Notebook(GUI) F1 = Frame(Tab, width=500, height=500, bg="cyan") Tab.add(F1, text='Expense') Tab.pack(fill=BOTH, expand=1) # Tab 1 (Expense) # ==========Row 0 =========================== LDate = ttk.Label(F1, text='Date', font=(None, 18)) LDate.grid(row=0, column=0, padx=5, pady=5, sticky='w') EDate = DateEntry(F1, width=19, background='blue', foreground='white', font=(None, 18))
def __init__(self, master): self.master = master # TOP Frame for LABEL frame_1 = LabelFrame(self.master, bd=1, height=80, borderwidth=2) frame_1.pack(side=TOP, fill="x", padx=1) # create a label in first frame_1 label_1 = Label(frame_1, text='Library Management System', bg="gray72", height=3, font=("Courier", 25, 'bold')) label_1.pack(side=TOP, fill="x") # Frame 2 for management frame_2 = LabelFrame(self.master, bd=1, borderwidth=2) frame_2.pack(fill="x", padx=1, pady=1) # Create TABS for frame_4 self.tabs = Notebook(frame_2, width=800, height=500) self.tabs.pack(fill="x") self.tab1 = Frame(self.tabs) self.tab2 = Frame(self.tabs) self.tabs.add(self.tab1, text="Book Management") self.tabs.add(self.tab2, text="Student Management") # Book Management in Tab1 # Book Management Frame_1 book_management_frame_1 = LabelFrame(self.tab1, bd=1, height=50, borderwidth=2) book_management_frame_1.pack(fill="x", padx=1, pady=1) # Add buttons in book_management_frame_1 btName = ["Add Book", "Return Book", "Delete Book"] # Dynamically adjust buttons configuration Grid.rowconfigure(book_management_frame_1, 0, weight=1) Grid.columnconfigure(book_management_frame_1, 0, weight=1) Grid.columnconfigure(book_management_frame_1, 1, weight=1) Grid.columnconfigure(book_management_frame_1, 2, weight=1) self.addBook = Button(book_management_frame_1, text=btName[0], font='bold', command=self.new_book) self.addBook.grid(row=0, column=0, sticky="EW", ipadx=60) self.returnBook = Button(book_management_frame_1, text=btName[1], font='bold', command=self.return_book) self.returnBook.grid(row=0, column=1, sticky="EW") self.delBook = Button(book_management_frame_1, text=btName[2], font='bold', command=self.delete_book) self.delBook.grid(row=0, column=2, sticky="EW") # Book Management Frame_2 book_management_frame_2 = LabelFrame(self.tab1, bd=1, height=80, borderwidth=2) book_management_frame_2.pack(fill="x", padx=1, pady=1) # Create Combobox for Choice self.book_search_choice = StringVar() self.combo_book_search_choice = ttk.Combobox( book_management_frame_2, font=("", 10), textvariable=self.book_search_choice, postcommand=self.show_books) self.combo_book_search_choice.pack(side=LEFT, padx=10) # fill comboBox self.bookSearchChoice = [ 'All books', 'Issued book', "Not issued books" ] self.combo_book_search_choice['values'] = self.bookSearchChoice # select default self.combo_book_search_choice.current(0) self.entry_search_book = Entry(book_management_frame_2, width=40, bd=3, font=("", 15)) self.entry_search_book.pack(side=LEFT, fill="x", padx=10, pady=10) self.bookSearchBtn = Button(book_management_frame_2, text='Search', padx=12, font="bold", command=self.book_search) self.bookSearchBtn.pack(side=LEFT, fill="x", padx=10, ipadx=20) # Book Management Frame_3 book_management_frame_3 = LabelFrame(self.tab1, text="", bd=3, height=400, borderwidth=2, relief=SUNKEN) book_management_frame_3.pack(fill="x", padx=5, pady=5) # Create Tab1: Management self.book_managementBox = Listbox(book_management_frame_3, width=50, height=25) self.book_managementBox_sb = Scrollbar(book_management_frame_3, orient=VERTICAL) self.book_managementBox.grid(row=0, column=0, padx=(3, 0), sticky=N) self.book_managementBox_sb.config( command=self.book_managementBox.yview) self.book_managementBox.config( yscrollcommand=self.book_managementBox_sb.set) self.book_managementBox_sb.grid(row=0, column=0, sticky=N + S + E) # Details of books self.book_managementBox_detail = Listbox(book_management_frame_3, width=80, height=25) self.book_managementBox_detail.grid(row=0, column=1, padx=(10, 0), sticky=N) # Student Management in Tab2 # Student Management Frame_1 student_management_frame_1 = LabelFrame(self.tab2, bd=1, height=50, borderwidth=2) student_management_frame_1.pack(fill="x", padx=1, pady=1) # Add buttons in student_management_frame_1 student_btName = ["Add Student", "Issue Book", "Delete Student"] # Dynamically adjust buttons configuration Grid.rowconfigure(student_management_frame_1, 0, weight=1) Grid.columnconfigure(student_management_frame_1, 0, weight=1) Grid.columnconfigure(student_management_frame_1, 1, weight=1) Grid.columnconfigure(student_management_frame_1, 2, weight=1) self.addStudent = Button(student_management_frame_1, text=student_btName[0], font='bold', command=self.new_student) self.addStudent.grid(row=0, column=0, sticky="EW", ipadx=60) self.iBook = Button(student_management_frame_1, text=student_btName[1], font='bold', command=self.issue_book) self.iBook.grid(row=0, column=1, sticky="EW") self.delStudent = Button(student_management_frame_1, text=student_btName[2], font='bold', command=self.delete_student) self.delStudent.grid(row=0, column=2, sticky="EW") # Student Management Frame_2 student_management_frame_2 = LabelFrame(self.tab2, bd=1, height=80, borderwidth=2) student_management_frame_2.pack(fill="x", padx=1, pady=1) # Create Combobox for Choice self.student_search_choice = StringVar() self.combo_student_search_choice = ttk.Combobox( student_management_frame_2, font=("", 10), textvariable=self.student_search_choice, postcommand=self.show_students) self.combo_student_search_choice.pack(side=LEFT, padx=10) # fill comboBox self.studentSearchChoice = [ 'All Students', 'Students who issued book', "Students who didn't issued" ] self.combo_student_search_choice['values'] = self.studentSearchChoice # select default self.combo_student_search_choice.current(0) self.entry_search_student = Entry(student_management_frame_2, width=40, bd=3, font=("", 15)) self.entry_search_student.pack(side=LEFT, fill="x", padx=10, pady=10) self.studentSearchBtn = Button(student_management_frame_2, text='Search', padx=12, font="bold", command=self.student_search) self.studentSearchBtn.pack(side=LEFT, fill="x", padx=10, ipadx=20) # student Management Frame_3 student_management_frame_3 = LabelFrame(self.tab2, text="", bd=3, height=400, borderwidth=2, relief=SUNKEN) student_management_frame_3.pack(fill="x", padx=5, pady=5) # Create Tab1: Management self.student_managementBox = Listbox(student_management_frame_3, width=50, height=25) self.student_managementBox_sb = Scrollbar(student_management_frame_3, orient=VERTICAL) self.student_managementBox.grid(row=0, column=0, padx=(3, 0), sticky=N) self.student_managementBox_sb.config( command=self.student_managementBox.yview) self.student_managementBox.config( yscrollcommand=self.student_managementBox_sb.set) self.student_managementBox_sb.grid(row=0, column=0, sticky=N + S + E) # Details of students self.student_managementBox_detail = Listbox(student_management_frame_3, width=80, height=25) self.student_managementBox_detail.grid(row=0, column=1, padx=(10, 0), sticky=N) self.show_students() self.show_books()
def __init__(self, ide): # setting title ide.title("TenorC @danii_mor") # setting window size width=700 height=400 screenwidth = ide.winfo_screenwidth() screenheight = ide.winfo_screenheight() alignstr = '%dx%d+%d+%d' % (width, height, (screenwidth - width) / 2, (screenheight - height) / 2) ide.geometry(alignstr) ide.resizable(width=True, height=True) # create menubar menubar = Menu(ide) # file menu filemenu = Menu(menubar, tearoff=0) filemenu.add_command(label="New", command=self.newFile) filemenu.add_command(label="Open", command=self.file_open) filemenu.add_command(label="Save", command=self.file_save) filemenu.add_command(label="Save as...", command=self.file_save_as) filemenu.add_command(label="Close", command=self.exitTab) filemenu.add_separator() filemenu.add_command(label="Exit", command=ide.quit) # edit menu editmenu = Menu(menubar, tearoff=0) editmenu.add_command(label="Cut", command=self.donothing) editmenu.add_command(label="Copy", command=self.copy_to_clipboard) editmenu.add_command(label="Paste", command=self.donothing) editmenu.add_separator() editmenu.add_command(label="Find", command=self.donothing) editmenu.add_command(label="Replace", command=self.donothing) # run menu runmenu = Menu(menubar, tearoff=0) runmenu.add_command(label="Execute Analysis", command=self.execute_current_tab_lef) runmenu.add_command(label="Show Intermediate Code", command=self.show3D) runmenu.add_separator() runmenu.add_command(label="Symbol Table", command=self.show_sym_table) runmenu.add_command(label="Error Report", command=self.show_error) runmenu.add_command(label="Abstract Syntax Tree", command=self.show_ast) runmenu.add_command(label="Grammar", command=self.show_grammar) runmenu.add_separator() runmenu.add_command(label="Debugging", command=self.execute_debug) # option menu #optionmenu = Menu(menubar, tearoff=0) #optionmenu.add_command(label="Theme...", command=self.donothing) #optionmenu.add_command(label="Line Numbers...", command=self.donothing) # help menu helpmenu = Menu(menubar, tearoff=0) helpmenu.add_command(label="Help", command=self.donothing) helpmenu.add_command(label="About...", command=self.show_info) # setting menu menubar.add_cascade(label="File", menu=filemenu) menubar.add_cascade(label="Edit", menu=editmenu) menubar.add_cascade(label="Run", menu=runmenu) menubar.add_cascade(label="Help", menu=helpmenu) ide.config(menu=menubar) # setting editor area self.tabs = Notebook(ide) f1 = Frame(self.tabs) self.tabs.add(f1, text="+") self.tabs.pack(side="top", fill="both", expand=True, padx=10, pady=0) self.tabs.bind("<<NotebookTabChanged>>", self.addTab) # setting terminal area self.terminal= Text(ide) ft = tkFont.Font(family="Lucinda Console", size=10) self.terminal["font"] = ft self.terminal["wrap"] = "word" self.terminal["fg"] = "white" self.terminal["bg"] = "black" self.terminal["insertbackground"] ="white" self.terminal["height"] = 5 self.terminal["width"] = 5 self.terminal.pack( side = "left", fill = "both", expand=True, padx=10, pady=10) terminal_scroll = Scrollbar(ide) terminal_scroll["orient"] = "vertical" terminal_scroll["command"] = self.terminal.yview terminal_scroll.pack(side="right", fill="y") self.terminal.configure(yscrollcommand=terminal_scroll.set) self.terminal.bind("<Return>", self.execute_command)
scale2 = Scale(window, label="Simple Scale Horizontal", from_=0, to=100, command=getValue2, fg="white", bg="green", activebackground="red", troughcolor="orange", orient="horizontal") scale2.pack(fill="x") frame2 = Frame(window) frame2.pack(fill="both") tablayout = Notebook(frame2) tab1 = Frame(tablayout) tab1.pack(fill="both") label = Label(tab1, text="same Data in Tab 1") label.pack() tablayout.add(tab1, text="TAB 1") tablayout.pack(fill="both") tab1 = Frame(tablayout) tab1.pack(fill="both") label = Label(tab1, text="same Data in Tab 1") label.pack() # adding table into tab for row in range(5):