def __init__(self): Tk.__init__(self) self.width = 1200 self.height = 900 self.img_width = 0 self.img_height =0 self.geometry(str(self.width)+"x"+str(self.height)) self.title("AirSurf-Lettuce") self.input_frame = Frame(master=self) self.input_frame.config(width=self.width, height=30) #52.437348, 0.379331, rotation=31.5 self.in_long_label = Label(master=self.input_frame, text="Longitude:") self.in_long_entry = Entry(master=self.input_frame, text="52.437348") self.in_lat_label = Label(master=self.input_frame, text="Latitude:") self.in_lat_entry = Entry(master=self.input_frame, text="0.379331") self.in_rot_label = Label(master=self.input_frame, text="Rotation:") self.in_rot_entry = Entry(master=self.input_frame, text="31.5") self.in_long_label.pack(side=tkinter.LEFT) self.in_long_entry.pack(side=tkinter.LEFT) self.in_lat_label.pack(side=tkinter.LEFT) self.in_lat_entry.pack(side=tkinter.LEFT) self.in_rot_label.pack(side=tkinter.LEFT) self.in_rot_entry.pack(side=tkinter.LEFT) self.in_filename_label = Label(master=self.input_frame, text="Input:") self.in_filename_entry = Entry(master=self.input_frame, textvariable="Input FileName") self.in_filename_browse = Button(master=self.input_frame, text="...", width=3, command=self.open_image) #self.in_filename_submit = Button(master=self.input_frame, text="Submit", width=10, command=self.load_image) self.in_filename_start = Button(master=self.input_frame, text="Start", width=10, command=self.run_pipeline_threaded) self.in_filename_label.pack(side=tkinter.LEFT) self.in_filename_entry.pack(side=tkinter.LEFT) self.in_filename_browse.pack(side=tkinter.LEFT) #self.in_filename_submit.pack(side=tkinter.LEFT) self.in_filename_start.pack(side=tkinter.LEFT) self.input_frame.pack() #create tabs. self.tab_names = ["original", "normalised", "counts", "size distribution", "harvest regions"] self.tabControl = ttk.Notebook(self) self.tabs = {} self.canvas = {} self.photo = {} self.photo_config = {} self.src_image = None for tab_name in self.tab_names: tab = ttk.Frame(self.tabControl) self.tabControl.add(tab, text=tab_name) self.tabs[tab_name] = tab self.canvas[tab_name] = Canvas(tab, highlightthickness=0, highlightbackground="black", bd=0, bg="light gray") self.canvas[tab_name].config(width=self.width, height=self.height-75) self.canvas[tab_name].pack() self.photo[tab_name] = None self.photo_config[tab_name] = None self.tabControl.pack(expand=len(self.tab_names), fill="both") #self.scrollable_canvas = ScrollCanvas(self, self, self.zoom_val) self.filename = None self.pipeline_thread = None self.name = None self.output_frame = Frame(master=self) self.output_frame.config(width=self.width, height=self.height-30) self.out_filename_label = Label(master=self.output_frame, text="Ouput:") self.out_filename_entry = Entry(master=self.output_frame, textvariable="Output FileName") self.out_filename_browse = Button(master=self.output_frame, text="...", width=3, command=self.file_dialog) self.out_filename_save = Button(master=self.output_frame, text="Save", width=3, command=self.thread_save_output) self.out_filename_label.pack(side=tkinter.LEFT) self.out_filename_entry.pack(side=tkinter.LEFT) self.out_filename_browse.pack(side=tkinter.LEFT) self.out_filename_save.pack(side=tkinter.LEFT) self.output_frame.pack()
from tkinter import Canvas, Tk from helpers import make_circle gui = Tk() gui.title('Circle') canvas = Canvas(gui, width=500, height=500, background='white') canvas.pack() ########################## YOUR CODE BELOW THIS LINE ############################## # TODO: Make concentric circles using a while loop make_circle(canvas, (100, 50), 25, color=None) ########################## YOUR CODE ABOVE THIS LINE ############################## canvas.mainloop()
from os import name if name == "nt": Windows = True else: Windows = False if Windows: from winsound import PlaySound, SND_LOOP, SND_ASYNC, SND_PURGE tk = Tk() width = tk.winfo_screenwidth() height = tk.winfo_screenheight() tk.attributes("-fullscreen", True) screen = Canvas(tk, width=width, height=height, bg="black") screen.pack() firstRun = True #MAIN MENU SCREEN def menu(): global loop, gameStarted, instruction, selector, highscore selector = False gameStarted = False loop = False instruction = False screen.delete("all") screen.update() loop = True #ONLY STARTS THE LOOP THE FIRST TIME THE MENU APPEARS
from tkinter import Canvas, Tk main = Tk() c = Canvas(height=500, width=600) c.pack() specials = ['C', '+', '-', '='] k = 50 def reset(): global display, cache, operation display = '0' cache = 0 operation = '' reset() mytext = c.create_text(10, 10, font=('Arial', 40), text=display, anchor='nw') def showMytext(): global mytext, display c.delete(mytext) mytext = c.create_text(10, 10, font=('Arial', 40), text=display, anchor='nw') def equals(): global display, cache, operation if operation == '+': cache += int(display)
def setup_window(self): # initial setup self.primary_window = Tk() self.open_images() self.primary_window.wm_title("spirograph") self.primary_window.geometry('1274x960-1+0') self.primary_window.minsize(width=100, height=30) self.primary_window.maxsize(width=self.max_win_size[0], height=self.max_win_size[1]) # image & canvas self.im_frame = ttk.Frame(self.primary_window) self.im_frame.grid(row=0, column=0, columnspan=2, sticky="nsew") self.im_frame.columnconfigure(0, weight=1) self.im_frame.rowconfigure(0, weight=1) self.primary_window.columnconfigure(0, weight=1) self.primary_window.rowconfigure(0, weight=1) self.canvas_frame = ttk.Frame(self.primary_window) self.canvas_frame.grid(row=0, column=0, sticky="nsew") self.canvas_frame.columnconfigure(0, weight=1) self.the_canvas = Canvas(self.canvas_frame, width=self.canvas_size[0], height=self.canvas_size[1], background='black') self.the_canvas.grid(row=0, column=0, columnspan=2) canv_im = Image.new('RGB', self.canvas_size) self.tk_im = ImageTk.PhotoImage(canv_im) self.canv_im = self.the_canvas.create_image((0, 0), anchor='nw', image=self.tk_im) # bottom buttons self.bottom_buttons_frame = ttk.Frame(self.primary_window) self.bottom_buttons_frame.grid(row=3, column=0, columnspan=2) # self.random_button = Button(self.bottom_buttons_frame, command=self.random, image=self.random_photo, width="80", height="80") self.random_button.grid(row=0, column=3) # self.update_button = Button( self.bottom_buttons_frame, command=self.update, #lambda: self.parent.queue.put(self.update), image=self.update_photo, width="80", height="80") self.update_button.grid(row=0, column=2) # self.stop_button = Button(self.bottom_buttons_frame, command=self.stop, image=self.trash_photo, width="80", height="80") self.stop_button.grid(row=0, column=4) # self.pause = IntVar() self.pause.set(2) self.pause_button = Button(self.bottom_buttons_frame, command=self.pause_toggle, image=self.pause_play_photo, width="80", height="80") self.pause_button.grid(row=0, column=5) # self.close_button = Button(self.bottom_buttons_frame, command=self.parent.close, image=self.close_photo, width="80", height="80") self.close_button.grid(row=0, column=6) # Label(self.bottom_buttons_frame, text="Status: ", font=self.main_font).grid(row=0, column=7) self.status_entry = Entry(self.bottom_buttons_frame) self.status_entry.config(font=self.main_font) self.update_status_entry("waiting") self.status_entry.grid(row=0, column=8) # bottom entries self.bottom_entries_frame = ttk.Frame(self.primary_window) self.bottom_entries_frame.grid(row=4, column=0, columnspan=2) # Label(self.bottom_entries_frame, text=" Inner Radius:", font=self.main_font).grid(row=1, column=1) self.inner_radius = Entry(self.bottom_entries_frame, justify='right') self.inner_radius.insert("end", '4/5') self.inner_radius.config(font=self.main_font, width=9) self.inner_radius.grid(row=1, column=2) # Label(self.bottom_entries_frame, text=" Draw Point Radius:", font=self.main_font).grid(row=1, column=3) self.draw_point_radius = Entry(self.bottom_entries_frame, justify='right') self.draw_point_radius.insert("end", '1/2') self.draw_point_radius.config(font=self.main_font, width=9) self.draw_point_radius.grid(row=1, column=4) # # # Label(self.bottom_entries_frame, text=" Step Time (ms):",font=self.main_font).grid(row=2, column=3) # self.step_time = Entry(self.bottom_entries_frame,justify='right') # self.step_time.insert("end", '0') # self.step_time.config(font=self.main_font,width=9) # self.step_time.grid(row=2,column=4) # Label(self.bottom_entries_frame, text=" Line Weight:", font=self.main_font).grid(row=2, column=3) self.line_weight = Entry(self.bottom_entries_frame, justify='right') self.line_weight.insert("end", '25') self.line_weight.config(font=self.main_font, width=9) self.line_weight.grid(row=2, column=4) # Label(self.bottom_entries_frame, text=" Draw Angle:", font=self.main_font).grid(row=2, column=5) self.draw_theta = Entry(self.bottom_entries_frame, justify='left') self.draw_theta.insert("end", '0') self.draw_theta.config(font=self.main_font, width=9) self.draw_theta.grid(row=2, column=6) # # # self.show_circles_check = IntVar() # self.show_circles_check.set(0) # self.show_path_button = Checkbutton(self.bottom_entries_frame, text="Show Circles", variable=self.show_circles_check,font=self.main_font) # self.show_path_button.grid(row=2,column=1,columnspan=2) # self.continuous_random_check = IntVar() self.continuous_random_check.set(0) self.continuous_random_button = Checkbutton( self.bottom_entries_frame, text="Continuous Random", variable=self.continuous_random_check, font=self.main_font) self.continuous_random_button.grid(row=2, column=1, columnspan=2) # # self.save_series_check = IntVar() self.save_series_check.set(0) self.save_series_button = Checkbutton(self.bottom_entries_frame, text="Save Series", variable=self.save_series_check, font=self.main_font) self.save_series_button.grid(row=1, column=5, columnspan=2)
def mouseRelease(event, button="left"): """Runs everytime the left click of the mouse is released.""" playMenu.updateOnRelease() mainMenu.updateOnRelease() #### Variables #### width, height = 700, 700 # Taille de la fenetre myTheme = Config.createTheme(Config.themes["Primary"]["Night"], Config.themes["Secondary"]["Gold"]) #### Set up de la fenetre Tkinter #### root = Tk() cv = Canvas(root, width=width, height=height, bg=myTheme["Primary"]["background"]) cv.pack() #### Creation du Menu principale #### cv.create_rectangle(width * 3 // 4, 0, width, height, fill=myTheme["Primary"]["game"][0], outline="", tag="UI") cv.create_rectangle(0, 0, width, height // 5,
output_dir = path / 'data/eyetrack_eyes_4' init_dir(output_dir) # careful! #Init parameters of game #resolution WIDTH = 1600 HEIGHT = 900 BALLSIZE = 40 BALLCOLOR = 'blue' MAXTIME = 300 #secs, How much time to run the process # Init canvas for the ball tk = Tk() tk.attributes("-fullscreen", fullscreen) #tk.wm_attributes('-type', 'splash') #tk.wm_attributes("-topmost", 0) canvas = Canvas(tk, width=WIDTH, height=HEIGHT, bg="lightgrey") canvas.pack() #Init csv file for ball coordinates coordfile = open(output_dir / "coords.csv", "w+") coordfile.write("frame,width,height,time\r\n") # Init videocapture from camera cam = cv2.VideoCapture(0) TIC = time.time() #Finally, create ball and start main loop ball = Ball(canvas) tk.mainloop() # free coordfile and camera resources after the loop is finished
def __init__(self, auscale, timestep, time_increment=1, start_time=None, stopped=False): """time_increment is in days. start_time is anything that can be turned into a ephem.Date object. """ self.auscale = auscale self.timestep = timestep if stopped: self.stepping = False else: self.stepping = True if start_time: self.time = ephem.Date(start_time) else: # Default to starting 30 days before present self.time = ephem.Date(datetime.now(tz=timezone.utc)) \ - ephem.hour * 24 * 30 print("Start time:", ephem.Date(self.time)) self.opp_date, self.closest_date = find_next_opposition(self.time) # print("Next opposition:", self.opp_date) # print("Next closest:", self.closest_date) self.time_increment = ephem.hour * time_increment * 24 self.linewidth = 3 self.width = 1024 self.height = 768 self.halfwidth = self.width / 2. self.halfheight = self.height / 2. self.dist_scale = self.halfheight / self.auscale tkmaster = Tk() tkmaster.title("Mars Oppositions") self.canvas = Canvas(tkmaster, bg="black", width=self.width, height=self.height) # Start with just the Sun try: self.sunimg = PhotoImage(file=os.path.join(ICONDIR, "tinysun.png")) self.canvas.create_image(self.width / 2, self.height / 2, image=self.sunimg) except: sunrad = 20 self.canvas.create_oval(self.width / 2 - sunrad, self.height / 2 - sunrad, self.width / 2 + sunrad, self.height / 2 + sunrad, fill="yellow") self.canvas.pack() # Canvas requires that the app save a reference to PhotoImages: # the canvas doesn't keep the references. try: earth["tinyimg"] = PhotoImage(file=earth["imgname"]) except: earth["tinyimg"] = None try: mars["tinyimg"] = PhotoImage(file=mars["imgname"]) except: mars["tinyimg"] = None tkmaster.bind("<KeyPress-q>", sys.exit) tkmaster.bind("<KeyPress-space>", self.toggle_stepping) print(table_header) # Schedule the first draw self.step_draw()
#!/bin/python3 from libcolor import Color from tkinter import Tk, Canvas, mainloop from animagick import rect_mid # set window root = Tk() H, W = 900, 900 Cnv = Canvas(width=W, height=H, bg="black") root.title("Jumpy Squares") Cnv.pack() # Draw initial stuff color_slow = Color(106, 255, 0) # green color_fast = Color(255, 0, 0) # red slow = Cnv.create_rectangle(rect_mid(W / 2 + 90, H / 2, 50, 50), fill=color_slow.to_hex()) fast = Cnv.create_rectangle(rect_mid(W / 2 - 90, H / 2, 50, 50), fill=color_fast.to_hex()) vx_slow = 2 vx_fast = -4 def animate(): global vx_slow, vx_fast x1s, y1s, x2s, y2s = Cnv.coords(slow) x1f, y1f, x2f, y2f = Cnv.coords(fast) if x2s > W or x1s < 0:
# создаем набор сегментов # и собственно змейку def create_snake(): segments = [ Segment(SEG_SIZE, SEG_SIZE), Segment(SEG_SIZE * 2, SEG_SIZE), Segment(SEG_SIZE * 3, SEG_SIZE) ] return Snake(segments) # создаем экземпляр класса Canvas #и заливаем все зеленым цветом c = Canvas(root, width=WIDTH, height=HEIGHT, bg="#004491") c.grid() # Наводим фокус на Canvas, чтобы мы могли ловить нажатия клавиш c.focus_set() game_over_text = c.create_text(WIDTH / 2, HEIGHT / 2, text="Конец Игры!", font='Arial 20', fill='red', state='hidden') restart_text = c.create_text(WIDTH / 2, HEIGHT - HEIGHT / 3, font='Arial 30', fill='white', text="Нажмите Сюда Для Перезапуска Игры", state='hidden')
def simulation_canvas(parent, **config): global the_canvas the_canvas = Canvas(parent, **config) the_canvas.bind("<ButtonRelease>", lambda event: model.mouse_click(event.x, event.y)) return the_canvas
def plot(self, start, goal, OPEN, CLOSED, width=800, height=600): """ Método para plotar o mapa para uma data lista ABERTA e FECHADA. A chamada desse método requer que a biblioteca tkinter esteja instalada no computador. A instalação de tal biblioteca é dependente do sistema operacional e ela não está na lista de bibliotecas do arquivo requirements.txt """ from tkinter import Tk, Canvas self.convert_data() for _, state in CLOSED.items(): self.data_int[state.get_y()][state.get_x()] = 3 for state in OPEN: self.data_int[state.get_y()][state.get_x()] = 2 self.data_int[start.get_y()][start.get_x()] = 4 self.data_int[goal.get_y()][goal.get_x()] = 5 master = Tk() canvas = Canvas(master, bg="black", width=width, height=height) canvas.pack() h, l = self.data_int.shape x_size = width / l y_size = height / h for i in range(h): for j in range(l): if self.data_int[i, j] == 1: canvas.create_rectangle(x_size * j, y_size * i, x_size + x_size * j, y_size + y_size * i, fill="gray", outline='gray') elif self.data_int[i, j] == 4: canvas.create_rectangle(x_size * j, y_size * i, x_size + x_size * j, y_size + y_size * i, fill="green", outline='green') elif self.data_int[i, j] == 5: canvas.create_rectangle(x_size * j, y_size * i, x_size + x_size * j, y_size + y_size * i, fill="yellow", outline='yellow') elif self.data_int[i, j] == 2: canvas.create_rectangle(x_size * j, y_size * i, x_size + x_size * j, y_size + y_size * i, fill="blue", outline='blue') elif self.data_int[i, j] == 3: canvas.create_rectangle(x_size * j, y_size * i, x_size + x_size * j, y_size + y_size * i, fill="red", outline='red') master.mainloop()
c.itemconfigure(mouth_happy,state=HIDDEN) c.itemconfigure(mouth_normal,state=NORMAL) c.itemconfigure(mouth_sad,state=HIDDEN) def sad(): if c.happy_level==0: c.itemconfigure(mouth_happy,state=HIDDEN) c.itemconfigure(mouth_normal,state=HIDDEN) c.itemconfigure(mouth_sad,state=NORMAL) else: c.happy_level-=1 win.after(500,sad) win=Tk() c=Canvas(win,width=400,height=400) c.configure(bg='pink',highlightthickness=0) c.body_color='yellow' body=c.create_oval(35,20,365,350,outline=c.body_color,fill=c.body_color) body = c.create_oval(35,20,365,350,outline=c.body_color , fill=c.body_color) foot_left = c.create_oval(65,320,145,360 , outline=c.body_color , fill=c.body_color) foot_right = c.create_oval(250,320,330,360 , outline=c.body_color , fill=c.body_color) ear_left = c.create_polygon(75,80,75,10,165,70,outline=c.body_color , fill=c.body_color) ear_right = c.create_polygon(255,45,325,10,320,70,outline=c.body_color , fill=c.body_color) eye_left = c.create_oval(130,110,160,170,outline='black' , fill='white') pupil_left = c.create_oval(140,145,150,155,outline='black' , fill='black') eye_right = c.create_oval(230,110,260,170,outline='black' , fill='white')
def build(self): """widget construction Parameters ---------- None Results ------- None """ fr1 = LabelFrame(self.parent, text='rgb') fr1.grid(column=0, row=0) rl1 = Label(fr1, text='red ') rl1.grid(column=0, row=0, sticky='s') self.rcan = Canvas( fr1, width=self.canvas_w, height=self.canvas_h, bd=0, highlightthickness=0) self.rcan.grid(column=1, row=0, sticky='s') rsc = Scale( fr1, from_=0, to=255, variable=self.rvar, orient='horizontal', length=self.scale_l, command=self.rhandle, tickinterval=20, showvalue=0) rsc.grid(column=1, row=1, sticky='nw') rsb = Spinbox(fr1, from_=0, to=255, textvariable=self.rvar, command=self.rhandle, width=5) rsb.grid(column=2, row=1, sticky='nw') gl1 = Label(fr1, text='green') gl1.grid(column=0, row=2) self.gcan = Canvas( fr1, width=self.canvas_w, height=self.canvas_h, bd=0, highlightthickness=0) self.gcan.grid(column=1, row=2, sticky='s') gsc = Scale( fr1, from_=0, to=255, variable=self.gvar, orient='horizontal', length=self.scale_l, command=self.ghandle, tickinterval=20, showvalue=0) gsc.grid(column=1, row=3, sticky='nw') gsb = Spinbox(fr1, from_=0, to=255, textvariable=self.gvar, command=self.ghandle, width=5) gsb.grid(column=2, row=3, sticky='nw') bl1 = Label(fr1, text='blue ') bl1.grid(column=0, row=4, sticky='s') self.bcan = Canvas( fr1, width=self.canvas_w, height=self.canvas_h, bd=0, highlightthickness=0) self.bcan.grid(column=1, row=4, sticky='n') bsc = Scale( fr1, from_=0, to=255, variable=self.bvar, orient='horizontal', length=self.scale_l, command=self.bhandle, tickinterval=20, showvalue=0) bsc.grid(column=1, row=5, sticky='nw') bsb = Spinbox(fr1, from_=0, to=255, textvariable=self.bvar, command=self.bhandle, width=5) bsb.grid(column=2, row=5, sticky='nw') fr3 = LabelFrame(self.parent, text='colour mix') fr3.grid(column=1, row=0, sticky='nw') self.cmcan = cmcan = Canvas(fr3, width=30, height=30, bd=0, highlightthickness=0) cmcan.grid(column=0, row=0, sticky='n', columnspan=2) cmcan.grid_propagate(0) vdraw_gradient(self.cmcan, (255, 0, 0), alpha=255) cml = Label(fr3, text='hash\nvalue') cml.grid(column=0, row=1) ent1 = Entry(fr3, width=8, textvariable=self.evar) ent1.grid(column=1, row=1) fr2 = LabelFrame(self.parent, text='opacity') fr2.grid(column=0, row=1, sticky='w') al1 = Label(fr2, text='alpha') al1.grid(column=0, row=0, sticky='s') self.acan = Canvas(fr2, width=self.canvas_w, height=self.canvas_h) self.acan.grid(column=1, row=0, sticky='n') asc = Scale( fr2, from_=0, to=255, variable=self.avar, orient='horizontal', length=self.scale_l, command=self.ahandle, tickinterval=20, showvalue=0) asc.grid(column=1, row=1, sticky='nw') asb = Spinbox(fr2, from_=0, to=255, textvariable=self.avar, command=self.ahandle, width=5) asb.grid(column=2, row=1, sticky='nw') draw_gradient(self.rcan, (0, 0, 0), (255, 0, 0), width=self.canvas_w) draw_gradient(self.gcan, (255, 0, 0), (255, 255, 0), width=self.canvas_w) draw_gradient(self.bcan, (255, 0, 0), (255, 0, 255), width=self.canvas_w) draw_agradient(self.acan, (127, 127, 127), (255, 0, 0), width=self.canvas_w)
def formulario(raizMain): class Archivo: nombre = "" archivoHisto=Archivo() archivoInfo = Archivo() raizForm = tkinter.Toplevel(raizMain) raizMain.iconify() raizForm.title("Ingreso de datos") raizForm.geometry("800x600") validar = raizForm.register(es_valido_campo) validar_ConPun = raizForm.register(es_valido_campo_con_punto) barraMenu = Menu(raizForm) raizForm.config(menu=barraMenu) inicioMenu = Menu(barraMenu) inicioMenu.add_command(label="Salir", command=lambda:salirForm(raizMain,raizForm)) ayudaMenu = Menu(barraMenu) ayudaMenu.add_command(label="Variables de entrada", command=lambda:ventanaAyuda(raizForm)) ayudaMenu.add_command(label="Subir archivo", command=lambda:ayudaArchivo(raizForm)) barraMenu.add_cascade(label="Inicio",menu=inicioMenu) barraMenu.add_cascade(label="Ayuda",menu=ayudaMenu) scrollbar = Scrollbar(raizForm) can = Canvas(raizForm, yscrollcomman=scrollbar.set) scrollbar.config(command=can.yview) scrollbar.pack(side=tkinter.RIGHT, fill=tkinter.Y) #Frame principal frameIniForm = Frame(can) can.pack(side="left", fill="both", expand=True) can.create_window(0,0,window=frameIniForm,anchor='nw') frameHead = Frame(frameIniForm) frameHead.grid(row=0 , column=0, padx=0,pady=15) #Frame de logos y titulo presentaFra = Frame(frameHead, highlightbackground="black", highlightcolor="black", highlightthickness=1, bd= 5) presentaFra.grid(row=0 , column=0) tituloFra = Frame(presentaFra) tituloFra.grid(row=0, column=0) Label(tituloFra,text="Sistema de predicción de pagos", font=("Times New Roman",18,"bold","italic"),width=49).grid(row=0, column=0, padx=5) Label(tituloFra,text="para creditos hipotecarios", font=("Times New Roman",18,"bold", "italic")).grid(row=1, column=0, padx=5) #Frame de banderas frameAmar = Frame(frameHead, background="#FFFB00", width="715", height="5") frameAmar.grid(row=1, column=0) frameAmar = Frame(frameHead, background="#FFFFFF", width="715", height="5") frameAmar.grid(row=2, column=0) frameAmar = Frame(frameHead, background="#0D6AE1", width="715", height="5") frameAmar.grid(row=3, column=0) frameExpli = Frame(frameIniForm) frameExpli.grid(row=1, column=0) Label(frameExpli, text="Ingresar información de una persona para ser consultada en el sistema.", font=("",10)).grid(row=0,column=0) Label(frameExpli, text="Los campos marcados con * corresponden a campos obligatorios.", font=("",10)).grid(row=1,column=0) #Frame del formulario frameForm = Frame(frameExpli) frameForm.grid(row=2, column=0) Label(frameForm, text="Nombre *", font=("",10)).grid(row=0, column=0, sticky="w", padx=(50,2), pady=(30,5)) nombreText = Entry(frameForm) nombreText.grid(row=0, column=1, pady=(30,5)) Label(frameForm, text="Edad *", font=("",10)).grid(row=0, column=2, sticky="w", padx=(50,2), pady=(30,5)) edadText = Entry(frameForm) edadText.grid(row=0, column=3, padx=(2,50), pady=(30,5)) frameBody = Frame(frameIniForm) frameBody.grid(row=2 , column=0, padx=0,pady=15) volverBut = Button(frameBody, text="Volver", command=lambda:Volver(raizMain,raizForm), bg="#AED6F1", width=10, height=2) volverBut.grid(row=1,column=0, padx=(10), pady=(20)) infoBut = Button(frameBody, text="Subir información", command=lambda:subir_Informacion(archivoInfo), bg="#58D68D", width=20, height=2) infoBut.grid(row=1, column=2, padx=(10), pady=(20)) histoBut = Button(frameBody, text="Subir archivo historico", command=lambda:subir_archivo_historico(archivoHisto), bg="#5DADE2", width=20, height=2) histoBut.grid(row=1,column=4, padx=(10), pady=(20)) sudmitBut = Button(frameBody, text="Guardar y consultar", command=lambda:guardarActualizar(raizMain,raizForm,archivoHisto,archivoInfo,nombreText.get(),edadText.get()), bg="#58D68D", width=20, height=2) sudmitBut.grid(row=1, column=6, padx=(10), pady=(20)) raizForm.update() can.config(scrollregion=can.bbox("all"))
def __init__(self, tk_frame): self._view_type = 'tk' self.canvas = Canvas(tk_frame, width=400, height=400) self.canvas.pack(padx=10, pady=10, expand=1)
snake_init = { 'lenght': 3, 'width': 8, 'segDis': 6, 'brain_config': brain_config, 'vision_range': 40, 'max_heritage': 5, 'neuron_value': 2 } #brain_init={'neuron_value':5, # 'neuron_std':0.5} #opt_window=Tk() master = Tk() w = Canvas(master, background='white', width=canvas_width, height=canvas_height) w.grid(row=1, column=1, columnspan=30, rowspan=30) def reset_simulation(): global foods, snakes, new_snakes_flag, gen, player_on, mysnake, frame_count, food_width, best gen, frame_count = 0, 0 w.delete(ALL) foods = banquet.banquet(w, food_quantity, width=food_width) snakes = snakery.snakery_class(w, initial_pop, foods, **snake_init) best = snakes[0] new_snakes_flag = False for snk in snakes.population: snk.body[0].direction = random.random() * 2 * np.pi
''' from tkinter import Canvas, Tk import helpers import utilities import time import random gui = Tk() gui.title('Tour of options...') # initialize canvas: window_width = gui.winfo_screenwidth() window_height = gui.winfo_screenheight() canvas = Canvas(gui, width=window_width, height=window_height, background='white') canvas.pack() ########################## YOUR CODE BELOW THIS LINE ############################## # http://effbot.org/tkinterbook/tkinter-events-and-bindings.htm helpers.make_creature( canvas, (200, 200), random.uniform(40, 150), # random width fill='white', tag='my_creature') gui.update() # wait three seconds and then turn the creature yellow:
from itertools import cycle from random import randrange from tkinter import Canvas, Tk, messagebox, font import time from pygame import mixer canvas_width = 800 canvas_height = 400 root = Tk() c = Canvas(root, width= canvas_width, height=canvas_height, \ background="sky blue") c.create_rectangle(-5, canvas_height - 100, canvas_width + 5, \ canvas_height + 5, fill="sea green", width=0) c.create_oval(-80, -80, 120, 120, fill="yellow", width=0) c.pack() color_cycle = cycle(["brown","white","gray"]) egg_width = 45 egg_height = 55 egg_score = 10 egg_speed = 500 egg_interval = 4000 difficulty_factor = 0.95 catcher_color = "blue" catcher_width = 100 catcher_height = 100
# c = Canvas(root, width=WIDTH, height=HEIGHT, bg='white') # c.pack() # # c.create_rectangle(100, 250, 400, 490, width=5, fill='red') # c.create_line(100, 250, 250, 20, width=5) # c.create_line(250, 20, 400, 250, width=5) # # root.mainloop() from tkinter import Tk, Canvas, FIRST, LAST, TOP WIDTH, HEIGHT = 500, 500 root = Tk() root.geometry(f'{WIDTH}x{HEIGHT}') c = Canvas(root, width=WIDTH, height=HEIGHT, bg='white') c.pack() c.create_line((50, 400), (300, 400)) c.create_line((150, 200), (350, 200), outline='red') c.create_line((150, 200), (150, 50)) c.create_line((150, 50), (400, 50)) c.create_line((400, 50), (400, 200)) c.create_line((50, 400), (150, 200)) c.create_line((300, 400), (400, 200)) # c.create_line((50, 400), (300, 450), (445, 300), (220, 260), (50, 400), ) # c.create_line(250, 5, 250, 495, width=3, arrow=FIRST) # c.create_line(0, 250, 500, 250, width=3, arrow=LAST) # start, coord = 0, 12
root.title("Rubik's self.cube Solver") c = Cube() #Constants number represent color in self.cube color_box=['black','yellow','blue','orange','green','red'] edges = [(0,2),(0,3),(0,4),(0,5),(1,2),(1,3),(1,4),(1,5),(2,3),(2,5),(4,3),(4,5)] corners = [(0,2,3),(0,3,4),(0,4,5),(0,2,5),(1,2,3),(1,3,4),(1,4,5),(1,2,5)] edge_to_cube_map = {} color_dict = {0:0,1:0,2:0,3:0,4:0,5:0} canvas=Canvas(width=960, height=640, background='#808080') image1 = Image.open("New folder/3.jpg") test = ImageTk.PhotoImage(image1) canvas.create_image(0, 0, image=test, anchor='nw') move = 'F' def button_click_event(event): global c move = event.char # def wrapper(self.cube=self.cube, move = move): if move == 'f': c.rotate_front_clock() display(c.cube)
#men.add_command(label="Graph", command=lambda : graph(5)) # time , OSO, ASA, OSA, ASO, Fx, Fy, M grafik = Menu(mas, tearoff=0) grafik.add_command(label="ON SOL", command=lambda: graph(1)) grafik.add_command(label="ARKA SAG", command=lambda: graph(2)) grafik.add_command(label="ON SAG", command=lambda: graph(3)) grafik.add_command(label="ARKA SOL", command=lambda: graph(4)) grafik.add_command(label="Fx", command=lambda: graph(5)) grafik.add_command(label="Fy", command=lambda: graph(6)) grafik.add_command(label="M", command=lambda: graph(7)) grafik.add_command(label="totalAmper", command=lambda: graph(8)) men.add_cascade(label="Graph", menu=grafik) mas.config(menu=men) can = Canvas(mas, width=w, height=h) can.pack() def hesapla(): global M, Fx, Fy, oso, osa, aso, asa, datas, t1, totalAmper pyg.event.pump() sl = pj.get_axis( 0) // 0.01 / 100 # + 0.01#sol # 0.01 düzeltmek için rahatsız etti ss = -pj.get_axis(1) // 0.01 / 100 #yuk saat = pj.get_axis(2) // 0.01 / 100 #sl = 1-2*random()#pj.get_axis(0)//0.01/100# + 0.01#sol # 0.01 düzeltmek için rahatsız etti #ss = 1-2*random()#-pj.get_axis(1)//0.01/100#yuk #saat = 1-2*random()#pj.get_axis(2)//0.01/100
36: 'a', 37: 'b' } #Canvas Code Section canvas_width = 600 canvas_height = 300 cnvs_title = Label(main_window, height=1, text="Canvas Area", highlightthickness=1, borderwidth=0, background='#A9A9A9') cnvs_title.grid(row=0, column=0, sticky='EW') cnvs = Canvas(main_window, width=canvas_width, height=canvas_height, background='#FFFFFF') cnvs.grid(row=1, column=0, sticky='NEWS') image = Image.new("L", (canvas_width, canvas_height), 0) draw = ImageDraw.Draw(image) def getImage(): img = np.array(image) x0, x1 = (0, 0) y0, y1 = (0, 0) x_flag = True y_flag = True for i in range(0, img.shape[1]):
def render_maze(task_id): for w in tk.winfo_children(): w.destroy() m, n = rob.get_field_size() w = CELL_SIZE*n + 2*X_OFFSET h = CELL_SIZE*m + 2* Y_OFFSET sw = tk.winfo_screenwidth() sh = tk.winfo_screenheight() x = (sw - w) // 2 y = (sh - h) // 2 tk.title("pyrob :: " + task_id) tk.geometry('{}x{}+{}+{}'.format(w, h, x, y)) global canvas canvas = Canvas(tk, width=w, height=h) canvas.pack() lines = [] cells = [] parking_points = [] for i in range(m): for j in range(n): x = X_OFFSET + j*CELL_SIZE y = Y_OFFSET + i*CELL_SIZE cs = (x, y) ce = (x + CELL_SIZE - 1, y + CELL_SIZE - 1) cells.append((i, j, cs, ce)) if rob.is_parking_cell(i, j): parking_points.append((x + PARKING_POINT_OFFSET, y + PARKING_POINT_OFFSET)) w = rob.is_blocked(i, j, rob.WALL_LEFT) wt = WALL_THICKNESS if w else GRID_THICKNESS wc = WALL_COLOR if w else GRID_COLOR ws = (x, y) we = (x + wt - 1, y + CELL_SIZE - 1) lines.append((ws, we, wc)) w = rob.is_blocked(i, j, rob.WALL_TOP) wt = WALL_THICKNESS if w else GRID_THICKNESS wc = WALL_COLOR if w else GRID_COLOR ws = (x, y) we = (x + CELL_SIZE - 1, y + wt - 1) lines.append((ws, we, wc)) w = rob.is_blocked(i, j, rob.WALL_RIGHT) wt = WALL_THICKNESS if w else GRID_THICKNESS wc = WALL_COLOR if w else GRID_COLOR ws = (x + CELL_SIZE - wt, y) we = (x + CELL_SIZE - 1, y + CELL_SIZE - 1) lines.append((ws, we, wc)) w = rob.is_blocked(i, j, rob.WALL_BOTTOM) wt = WALL_THICKNESS if w else GRID_THICKNESS wc = WALL_COLOR if w else GRID_COLOR ws = (x, y + CELL_SIZE - wt) we = (x + CELL_SIZE - 1, y + CELL_SIZE - 1) lines.append((ws, we, wc)) lines.append(((X_OFFSET - WALL_THICKNESS, Y_OFFSET - WALL_THICKNESS), (X_OFFSET + n*CELL_SIZE + WALL_THICKNESS, Y_OFFSET + WALL_THICKNESS), WALL_COLOR)) lines.append(((X_OFFSET - WALL_THICKNESS, Y_OFFSET + m*CELL_SIZE), (X_OFFSET + n*CELL_SIZE + WALL_THICKNESS, Y_OFFSET + m*CELL_SIZE + WALL_THICKNESS), WALL_COLOR)) lines.append(((X_OFFSET - WALL_THICKNESS, Y_OFFSET - WALL_THICKNESS), (X_OFFSET, Y_OFFSET + m*CELL_SIZE + WALL_THICKNESS), WALL_COLOR)) lines.append(((X_OFFSET + n*CELL_SIZE, Y_OFFSET - WALL_THICKNESS), (X_OFFSET + n*CELL_SIZE + WALL_THICKNESS, Y_OFFSET + m*CELL_SIZE + WALL_THICKNESS), WALL_COLOR)) def rect(start, end, *args, **kwargs): canvas.create_rectangle(start[0], start[1], end[0] + 1, end[1] + 1, *args, **kwargs) def make_label(x, y, text,): f = Frame(canvas, height=CELL_SIZE, width=CELL_SIZE) f.pack_propagate(0) f.place(x=x, y=y) label = Label(f, font=("Helvetica", 14), text=text) label.pack(fill=tkinter.BOTH, expand=1) return label for i in range(m): make_label(X_OFFSET - CELL_SIZE - WALL_THICKNESS, Y_OFFSET + CELL_SIZE*i, str(i + 1)) for j in range(n): make_label(X_OFFSET + CELL_SIZE*j, Y_OFFSET-CELL_SIZE - WALL_THICKNESS, str(j + 1)) for i, j, cs, ce in cells: color = CELL_COLOR_MAP[rob.get_cell_type(i, j)] rect(cs, ce, fill=color, width=0, tags='{}_{}'.format(i, j)) for ws, we, wc in lines: rect(ws, we, fill=wc, width=0) for (x, y) in parking_points: canvas.create_oval(x, y, x + 2*PARKING_POINT_RADIUS, y + 2*PARKING_POINT_RADIUS, width=0, fill=PARKING_POINT_COLOR) canvas.create_oval(0, 0, 2*ROBOT_RADIUS, 2*ROBOT_RADIUS, tags='robot', width=ROBOT_THICKNESS, outline=ROBOT_COLOR)
def mainwin(): f = Frame() canvas = Canvas(root, width=999, height=999) canvas.create_line(300, 0, 300, 1500) canvas.pack(fill=BOTH, expand=1) calc_title = Label(text="Калькуляторы для расчета стоимости", font=('Times New Roman', '16', 'bold')) tkani_title = Label(text="Каталог тканей", font=('Times New Roman', '16', 'bold')) files_title = Label(text="Блокнот", font=('Times New Roman', '16', 'bold')) list_empty = Listbox(width=55, height=30) list_rulon = Listbox(width=55, height=30) list_zebra = Listbox(width=55, height=30) list_vertic = Listbox(width=55, height=30) list_goriz = Listbox(width=55, height=30) rulon_id = Label(text="Артикул", font=('Times New Roman', '11', 'bold')) rulon_text = Label(text="Наименование ткани", font=('Times New Roman', '11', 'bold')) rulon_width = Label(text="Ширина", font=('Times New Roman', '11', 'bold')) rulon_color = Label(text="Цвет", font=('Times New Roman', '11', 'bold')) rulon_struct = Label(text="Структура", font=('Times New Roman', '11', 'bold')) rulon_prozr = Label(text="Прозрачность", font=('Times New Roman', '11', 'bold')) rulon_price = Label(text="Цена кв.м.", font=('Times New Roman', '11', 'bold')) zebra_id = Label(text="Артикул", font=('Times New Roman', '11', 'bold')) zebra_text = Label(text="Наименование ткани", font=('Times New Roman', '11', 'bold')) zebra_width = Label(text="Ширина", font=('Times New Roman', '11', 'bold')) zebra_color = Label(text="Цвет", font=('Times New Roman', '11', 'bold')) zebra_struct = Label(text="Структура", font=('Times New Roman', '11', 'bold')) zebra_prozr = Label(text="Прозрачность", font=('Times New Roman', '11', 'bold')) zebra_price = Label(text="Цена кв.м.", font=('Times New Roman', '11', 'bold')) Vertic_id = Label(text="Артикул", font=('Times New Roman', '11', 'bold')) Vertic_text = Label(text="Наименование ткани", font=('Times New Roman', '11', 'bold')) Vertic_width = Label(text="Ширина", font=('Times New Roman', '11', 'bold')) Vertic_color = Label(text="Цвет", font=('Times New Roman', '11', 'bold')) Vertic_struct = Label(text="Структура", font=('Times New Roman', '11', 'bold')) Vertic_prozr = Label(text="Прозрачность", font=('Times New Roman', '11', 'bold')) Vertic_price = Label(text="Цена кв.м.", font=('Times New Roman', '11', 'bold')) Goriz_id = Label(text="Артикул", font=('Times New Roman', '11', 'bold')) Goriz_text = Label(text="Наименование ленты", font=('Times New Roman', '11', 'bold')) Goriz_width = Label(text="Ширина", font=('Times New Roman', '11', 'bold')) Goriz_color = Label(text="Цвет", font=('Times New Roman', '11', 'bold')) Goriz_struct = Label(text="Поверхность", font=('Times New Roman', '11', 'bold')) Goriz_price = Label(text="Цена кв.м.", font=('Times New Roman', '11', 'bold')) textRulonID = Text(root, width=30, height=1) textRulon = Text(root, width=30, height=1) textRulonWidth = Text(root, width=30, height=1) textRulonColor = Text(root, width=30, height=1) textRulonStruct = Text(root, width=30, height=1) textRulonProzr = Text(root, width=30, height=1) textRulonPrice = Text(root, width=30, height=1) textRulonINFO = Text(root, width=41, height=2) textZebraID = Text(root, width=30, height=1) textZebra = Text(root, width=30, height=1) textZebraWidth = Text(root, width=30, height=1) textZebraColor = Text(root, width=30, height=1) textZebraStruct = Text(root, width=30, height=1) textZebraProzr = Text(root, width=30, height=1) textZebraPrice = Text(root, width=30, height=1) textZebraINFO = Text(root, width=41, height=2) textVerticID = Text(root, width=30, height=1) textVertic = Text(root, width=30, height=1) textVerticWidth = Text(root, width=30, height=1) textVerticColor = Text(root, width=30, height=1) textVerticStruct = Text(root, width=30, height=1) textVerticProzr = Text(root, width=30, height=1) textVerticPrice = Text(root, width=30, height=1) textVerticINFO = Text(root, width=41, height=2) textGorizID = Text(root, width=30, height=1) textGoriz = Text(root, width=30, height=1) textGorizWidth = Text(root, width=30, height=1) textGorizColor = Text(root, width=30, height=1) textGorizStruct = Text(root, width=30, height=1) textGorizPrice = Text(root, width=30, height=1) textGorizINFO = Text(root, width=41, height=2) #--------------Основной блок из трех кнопок----------------------------- button_calc = Button(root, text="Калькулятор", background="#777777", foreground="#303030", padx="72", pady="20", font=('Times New Roman', '16', 'bold'), command=lambda: calc()) button_calc.place(x=7, y=20) button_tkani = Button(root, text=" Ткани ", background="#777777", foreground="#303030", padx="77", pady="20", font=('Times New Roman', '16', 'bold'), command=lambda: tkani()) button_tkani.place(x=7, y=120) button_files = Button(root, text=" Блокнот ", background="#777777", foreground="#303030", padx="77", pady="20", font=('Times New Roman', '16', 'bold'), command=lambda: files()) button_files.place(x=7, y=220) #------------------Конец основного блока------------------------------- #-----------------Блок кнопок для тканей------------------------------- button_rulon = Button(root, text="Рулонные", background="#777777", foreground="#303030", padx="40", pady="10", font=('Times New Roman', '13', 'bold'), command=lambda: rulon()) button_vertic = Button(root, text="Вертикальные", background="#777777", foreground="#303030", padx="40", pady="10", font=('Times New Roman', '13', 'bold'), command=lambda: vertic()) button_zebra = Button(root, text="'Зебра'", background="#777777", foreground="#303030", padx="40", pady="10", font=('Times New Roman', '13', 'bold'), command=lambda: zebra()) button_goriz = Button(root, text="Горизонтальные", background="#777777", foreground="#303030", padx="40", pady="10", font=('Times New Roman', '13', 'bold'), command=lambda: goriz()) #---------------------------------------------------------------------- button_saveRulon = Button(root, text="Сохранить", background="#2F4F4F", foreground="#FFFFFF", padx="10", pady="3", font=('Times New Roman', '11', 'bold'), command=lambda: saveRulon()) button_addRulon = Button(root, text="Добавить", background="#2F4F4F", foreground="#FFFFFF", padx="10", pady="3", font=('Times New Roman', '11', 'bold'), command=lambda: addRulon()) button_clearRulon = Button(root, text="Сброс", background="#2F4F4F", foreground="#FFFFFF", padx="10", pady="3", font=('Times New Roman', '11', 'bold'), command=lambda: clearRulon()) button_delRulon = Button(root, text="Удалить выделение", background="#2F4F4F", foreground="#FFFFFF", padx="10", pady="3", font=('Times New Roman', '11', 'bold'), command=lambda: delRulon()) button_editRulon = Button(root, text="Изменить", background="#2F4F4F", foreground="#FFFFFF", padx="10", pady="3", font=('Times New Roman', '11', 'bold'), command=lambda: editRulon()) button_editSaveRulon = Button(root, text="Применить", background="#2F4F4F", foreground="#FFFFFF", padx="10", pady="3", font=('Times New Roman', '11', 'bold'), command=lambda: editSaveRulon()) #------------------------------------------------ button_saveZebra = Button(root, text="Сохранить", background="#2F4F4F", foreground="#FFFFFF", padx="10", pady="3", font=('Times New Roman', '11', 'bold'), command=lambda: SaveZebra()) button_delZebra = Button(root, text="Удалить выделение", background="#2F4F4F", foreground="#FFFFFF", padx="10", pady="3", font=('Times New Roman', '11', 'bold'), command=lambda: delZebra()) button_addZebra = Button(root, text="Добавить", background="#2F4F4F", foreground="#FFFFFF", padx="10", pady="3", font=('Times New Roman', '11', 'bold'), command=lambda: addZebra()) button_clearZebra = Button(root, text="Сброс", background="#2F4F4F", foreground="#FFFFFF", padx="10", pady="3", font=('Times New Roman', '11', 'bold'), command=lambda: clearZebra()) button_editZebra = Button(root, text="Изменить", background="#2F4F4F", foreground="#FFFFFF", padx="10", pady="3", font=('Times New Roman', '11', 'bold'), command=lambda: editZebra()) button_editSaveZebra = Button(root, text="Применить", background="#2F4F4F", foreground="#FFFFFF", padx="10", pady="3", font=('Times New Roman', '11', 'bold'), command=lambda: editSaveZebra()) #---------------------------------------------- button_saveVertic = Button(root, text="Сохранить", background="#2F4F4F", foreground="#FFFFFF", padx="10", pady="3", font=('Times New Roman', '11', 'bold'), command=lambda: SaveVertic()) button_delVertic = Button(root, text="Удалить выделение", background="#2F4F4F", foreground="#FFFFFF", padx="10", pady="3", font=('Times New Roman', '11', 'bold'), command=lambda: delVertic()) button_addVertic = Button(root, text="Добавить", background="#2F4F4F", foreground="#FFFFFF", padx="10", pady="3", font=('Times New Roman', '11', 'bold'), command=lambda: addVertic()) button_clearVertic = Button(root, text="Сброс", background="#2F4F4F", foreground="#FFFFFF", padx="10", pady="3", font=('Times New Roman', '11', 'bold'), command=lambda: clearVertic()) button_editVertic = Button(root, text="Изменить", background="#2F4F4F", foreground="#FFFFFF", padx="10", pady="3", font=('Times New Roman', '11', 'bold'), command=lambda: editVertic()) button_editSaveVertic = Button(root, text="Применить", background="#2F4F4F", foreground="#FFFFFF", padx="10", pady="3", font=('Times New Roman', '11', 'bold'), command=lambda: editSaveVertic()) #---------------------------------------------- button_saveGoriz = Button(root, text="Сохранить", background="#2F4F4F", foreground="#FFFFFF", padx="10", pady="3", font=('Times New Roman', '11', 'bold'), command=lambda: SaveGoriz()) button_delGoriz = Button(root, text="Удалить выделение", background="#2F4F4F", foreground="#FFFFFF", padx="10", pady="3", font=('Times New Roman', '11', 'bold'), command=lambda: delGoriz()) button_addGoriz = Button(root, text="Добавить", background="#2F4F4F", foreground="#FFFFFF", padx="10", pady="3", font=('Times New Roman', '11', 'bold'), command=lambda: addGoriz()) button_clearGoriz = Button(root, text="Сброс", background="#2F4F4F", foreground="#FFFFFF", padx="10", pady="3", font=('Times New Roman', '11', 'bold'), command=lambda: clearGoriz()) button_editGoriz = Button(root, text="Изменить", background="#2F4F4F", foreground="#FFFFFF", padx="10", pady="3", font=('Times New Roman', '11', 'bold'), command=lambda: editGoriz()) button_editSaveGoriz = Button(root, text="Применить", background="#2F4F4F", foreground="#FFFFFF", padx="10", pady="3", font=('Times New Roman', '11', 'bold'), command=lambda: editSaveGoriz()) #------------Конец блока кнопок для тканей------------------------------- #------------------Калькуляторы---------------------------------------------------------------------------------------------------- def calc(): clearWinAll() calc_title.place_forget() files_title.place_forget() tkani_title.place_forget() calc_title.place(x=810, y=10) #--------------Конец калькуляторов------------------------------------------------------------------------------------------------- #------------------Ткани----------------------------------------------------------------------------------------------------------- def tkani(): button_rulon.config(state=NORMAL) button_zebra.config(state=NORMAL) button_vertic.config(state=NORMAL) button_goriz.config(state=NORMAL) calc_title.place_forget() files_title.place_forget() tkani_title.place_forget() tkani_title.place(x=1020, y=10) button_rulon.place(x=308, y=50) button_zebra.place(x=490, y=50) button_vertic.place(x=647, y=50) button_goriz.place(x=867, y=50) list_empty.place(x=308, y=130) #--------------Конец тканей-------------------------------------------- #--------------------------Рулонные----------------------------- def rulon(): clearWinTkani() button_rulon.config(state=DISABLED) button_zebra.config(state=NORMAL) button_vertic.config(state=NORMAL) button_goriz.config(state=NORMAL) list_rulon.delete(0, 'end') list_empty.place_forget() list_zebra.place_forget() list_vertic.place_forget() list_goriz.place_forget() list_rulon.place(x=308, y=130) button_saveRulon.place(x=308, y=558) button_addRulon.place(x=660, y=475) button_clearRulon.place(x=760, y=475) button_delRulon.place(x=420, y=558) button_editRulon.place(x=900, y=558) button_editSaveRulon.place(x=1005, y=558) rulon_id.place(x=660, y=125) textRulonID.place(x=660, y=145) rulon_text.place(x=660, y=175) textRulon.place(x=660, y=195) rulon_width.place(x=660, y=225) textRulonWidth.place(x=660, y=245) rulon_color.place(x=660, y=275) textRulonColor.place(x=660, y=295) rulon_struct.place(x=660, y=325) textRulonStruct.place(x=660, y=345) rulon_prozr.place(x=660, y=375) textRulonProzr.place(x=660, y=395) rulon_price.place(x=660, y=425) textRulonPrice.place(x=660, y=445) textRulonINFO.place(x=600, y=558) #открыть файл рулонные и поместить в listbox---------------- try: openf = open( 'C:/Users/Anton/Desktop/Capsula-2.0/Code/Python/Jaluzi01/data_files/rulon.txt', 'r') for i in openf: list_rulon.insert(END, i) openf.close() except: messagebox.showerror("Ошибка", "Файл отсутствует!") def clearRulon(): textRulonID.delete(1.0, END) textRulon.delete(1.0, END) textRulonWidth.delete(1.0, END) textRulonColor.delete(1.0, END) textRulonStruct.delete(1.0, END) textRulonProzr.delete(1.0, END) textRulonPrice.delete(1.0, END) def saveRulon(): try: f = open( 'C:/Users/Anton/Desktop/Capsula-2.0/Code/Python/Jaluzi01/data_files/rulon.txt', 'w') f.writelines(list_rulon.get(0, END)) f.close() messagebox.showinfo("Оповещение", "Успешно!") except: messagebox.showerror("Ошибка", "Неудача!") def delRulon(): answer = messagebox.askyesno("Оповещение", "Вы уверены?") if answer == TRUE: select = list(list_rulon.curselection()) select.reverse() for i in select: list_rulon.delete(i) def editRulon(): try: textRulonINFO.delete(1.0, END) selectRulon = list(list_rulon.curselection()) selectRulon2 = list_rulon.get(selectRulon) textRulonINFO.insert(END, selectRulon2) try: ID = textRulonINFO.get(1.0, 1.4) Name = textRulonINFO.get(1.7, 1.11) end = Name + " " + ID + ".gif" photo = PhotoImage( file= 'C:/Users/Anton/Desktop/Capsula-2.0/Code/Python/Jaluzi01/tkani/rulon/' + end) img = canvas.create_image(1040, 275, image=photo) except: foto = PhotoImage( file= 'C:/Users/Anton/Desktop/Capsula-2.0/Code/Python/Jaluzi01/tkani/null.gif' ) null = canvas.create_image(1040, 275, image=foto) null.pack() except: messagebox.showerror( "Ошибка", "Отсутствует выделение строки, либо изображение не найдено!") img.pack() def editSaveRulon(): try: selectRulon = list(list_rulon.curselection()) NewData = textRulonINFO.get('1.0', END + '-1c') selectRulon2 = list_rulon.get(selectRulon) list_rulon.insert(list_rulon.curselection(), NewData) select = list(list_rulon.curselection()) select.reverse() for i in select: list_rulon.delete(i) except: messagebox.showerror("Ошибка", "Нечего сохранять") def addRulon(): list_rulon.insert( END, textRulonID.get('1.0', END + '-1c') + " | " + textRulon.get('1.0', END + '-1c') + " | " + textRulonWidth.get('1.0', END + '-1c') + " | " + textRulonColor.get('1.0', END + '-1c') + " | " + textRulonStruct.get('1.0', END + '-1c') + " | " + textRulonProzr.get('1.0', END + '-1c') + " | " + textRulonPrice.get('1.0', END + '-1c') + '\n') #--------------------------Рулонные конец----------------------------- #--------------------------Зебра----------------------------- def zebra(): clearWinTkani() button_rulon.config(state=NORMAL) button_zebra.config(state=DISABLED) button_vertic.config(state=NORMAL) button_goriz.config(state=NORMAL) list_zebra.delete(0, 'end') list_empty.place_forget() list_rulon.place_forget() list_vertic.place_forget() list_goriz.place_forget() list_zebra.place(x=308, y=130) button_saveZebra.place(x=308, y=558) button_addZebra.place(x=660, y=475) button_clearZebra.place(x=760, y=475) button_delZebra.place(x=420, y=558) button_editZebra.place(x=900, y=558) button_editSaveZebra.place(x=1005, y=558) zebra_id.place(x=660, y=125) textZebraID.place(x=660, y=145) zebra_text.place(x=660, y=175) textZebra.place(x=660, y=195) zebra_width.place(x=660, y=225) textZebraWidth.place(x=660, y=245) zebra_color.place(x=660, y=275) textZebraColor.place(x=660, y=295) zebra_struct.place(x=660, y=325) textZebraStruct.place(x=660, y=345) zebra_prozr.place(x=660, y=375) textZebraProzr.place(x=660, y=395) zebra_price.place(x=660, y=425) textZebraPrice.place(x=660, y=445) textZebraINFO.place(x=600, y=558) #открыть файл зебра и поместить в listbox---------------- try: openf = open( 'C:/Users/Anton/Desktop/Capsula-2.0/Code/Python/Jaluzi01/data_files/zebra.txt', 'r') for i in openf: list_zebra.insert(END, i) openf.close() except: messagebox.showerror("Ошибка", "Файл отсутствует!") def SaveZebra(): try: f = open( 'C:/Users/Anton/Desktop/Capsula-2.0/Code/Python/Jaluzi01/data_files/zebra.txt', 'w') f.writelines(list_zebra.get(0, END)) f.close() messagebox.showinfo("Оповещение", "Успешно!") except: messagebox.showerror("Ошибка", "Неудача!") def delZebra(): answer = messagebox.askyesno("Оповещение", "Вы уверены?") if answer == TRUE: select = list(list_zebra.curselection()) select.reverse() for i in select: list_zebra.delete(i) def addZebra(): list_zebra.insert( END, textZebraID.get('1.0', END + '-1c') + " | " + textZebra.get('1.0', END + '-1c') + " | " + textZebraWidth.get('1.0', END + '-1c') + " | " + textZebraColor.get('1.0', END + '-1c') + " | " + textZebraStruct.get('1.0', END + '-1c') + " | " + textZebraProzr.get('1.0', END + '-1c') + " | " + textZebraPrice.get('1.0', END + '-1c') + '\n') def clearZebra(): textZebraID.delete(1.0, END) textZebra.delete(1.0, END) textZebraWidth.delete(1.0, END) textZebraColor.delete(1.0, END) textZebraStruct.delete(1.0, END) textZebraProzr.delete(1.0, END) textZebraPrice.delete(1.0, END) def editZebra(): try: textZebraINFO.delete(1.0, END) selectZebra = list(list_zebra.curselection()) selectZebra2 = list_zebra.get(selectZebra) textZebraINFO.insert(END, selectZebra2) try: ID = textZebraINFO.get(1.0, 1.4) Name = textZebraINFO.get(1.7, 1.11) end = Name + " " + ID + ".gif" photo = PhotoImage( file= 'C:/Users/Anton/Desktop/Capsula-2.0/Code/Python/Jaluzi01/tkani/zebra/' + end) img = canvas.create_image(1040, 275, image=photo) except: foto = PhotoImage( file= 'C:/Users/Anton/Desktop/Capsula-2.0/Code/Python/Jaluzi01/tkani/null.gif' ) null = canvas.create_image(1040, 275, image=foto) null.pack() except: messagebox.showerror( "Ошибка", "Отсутствует выделение строки, либо изображение не найдено!") img.pack() def editSaveZebra(): try: selectZebra = list(list_zebra.curselection()) NewData = textZebraINFO.get('1.0', END + '-1c') selectZebra2 = list_zebra.get(selectZebra) list_zebra.insert(list_zebra.curselection(), NewData) select = list(list_zebra.curselection()) select.reverse() for i in select: list_zebra.delete(i) except: messagebox.showerror("Ошибка", "Нечего сохранять") #--------------------------Зебра конец----------------------------- #--------------------------Вертикальные----------------------------- def vertic(): clearWinTkani() button_rulon.config(state=NORMAL) button_zebra.config(state=NORMAL) button_vertic.config(state=DISABLED) button_goriz.config(state=NORMAL) list_vertic.delete(0, 'end') list_empty.place_forget() list_rulon.place_forget() list_zebra.place_forget() list_goriz.place_forget() list_vertic.place(x=308, y=130) button_saveVertic.place(x=308, y=558) button_addVertic.place(x=660, y=475) button_clearVertic.place(x=760, y=475) button_delVertic.place(x=420, y=558) button_editVertic.place(x=900, y=558) button_editSaveVertic.place(x=1005, y=558) Vertic_id.place(x=660, y=125) textVerticID.place(x=660, y=145) Vertic_text.place(x=660, y=175) textVertic.place(x=660, y=195) Vertic_width.place(x=660, y=225) textVerticWidth.place(x=660, y=245) Vertic_color.place(x=660, y=275) textVerticColor.place(x=660, y=295) Vertic_struct.place(x=660, y=325) textVerticStruct.place(x=660, y=345) Vertic_prozr.place(x=660, y=375) textVerticProzr.place(x=660, y=395) Vertic_price.place(x=660, y=425) textVerticPrice.place(x=660, y=445) textVerticINFO.place(x=600, y=558) #открыть файл вертикальные и поместить в listbox---------------- try: openf = open( 'C:/Users/Anton/Desktop/Capsula-2.0/Code/Python/Jaluzi01/data_files/vertical.txt', 'r') for i in openf: list_vertic.insert(END, i) openf.close() except: messagebox.showerror("Ошибка", "Файл отсутствует!") def SaveVertic(): try: f = open( 'C:/Users/Anton/Desktop/Capsula-2.0/Code/Python/Jaluzi01/data_files/vertical.txt', 'w') f.writelines(list_vertic.get(0, END)) f.close() messagebox.showinfo("Оповещение", "Успешно!") except: messagebox.showerror("Ошибка", "Неудача!") def delVertic(): answer = messagebox.askyesno("Оповещение", "Вы уверены?") if answer == TRUE: select = list(list_vertic.curselection()) select.reverse() for i in select: list_vertic.delete(i) def addVertic(): list_vertic.insert( END, textVerticID.get('1.0', END + '-1c') + " | " + textVertic.get('1.0', END + '-1c') + " | " + textVerticWidth.get('1.0', END + '-1c') + " | " + textVerticColor.get('1.0', END + '-1c') + " | " + textVerticStruct.get('1.0', END + '-1c') + " | " + textVerticProzr.get('1.0', END + '-1c') + " | " + textVerticPrice.get('1.0', END + '-1c') + '\n') def clearVertic(): textVerticID.delete(1.0, END) textVertic.delete(1.0, END) textVerticWidth.delete(1.0, END) textVerticColor.delete(1.0, END) textVerticStruct.delete(1.0, END) textVerticProzr.delete(1.0, END) textVerticPrice.delete(1.0, END) def editVertic(): try: textVerticINFO.delete(1.0, END) selectVertic = list(list_vertic.curselection()) selectVertic2 = list_vertic.get(selectVertic) textVerticINFO.insert(END, selectVertic2) try: ID = textVerticINFO.get(1.0, 1.4) Name = textVerticINFO.get(1.7, 1.11) end = Name + " " + ID + ".gif" photo = PhotoImage( file= 'C:/Users/Anton/Desktop/Capsula-2.0/Code/Python/Jaluzi01/tkani/vertic/' + end) img = canvas.create_image(1040, 275, image=photo) except: foto = PhotoImage( file= 'C:/Users/Anton/Desktop/Capsula-2.0/Code/Python/Jaluzi01/tkani/null.gif' ) null = canvas.create_image(1040, 275, image=foto) null.pack() except: messagebox.showerror( "Ошибка", "Отсутствует выделение строки, либо изображение не найдено!") img.pack() def editSaveVertic(): try: selectVertic = list(list_vertic.curselection()) NewData = textVerticINFO.get('1.0', END + '-1c') selectVertic2 = list_vertic.get(selectVertic) list_vertic.insert(list_vertic.curselection(), NewData) select = list(list_vertic.curselection()) select.reverse() for i in select: list_vertic.delete(i) except: messagebox.showerror("Ошибка", "Нечего сохранять") #--------------------------Вертикальные конец----------------------- #--------------------------Горизонтальные--------------------------- def goriz(): clearWinTkani() button_rulon.config(state=NORMAL) button_zebra.config(state=NORMAL) button_vertic.config(state=NORMAL) button_goriz.config(state=DISABLED) list_goriz.delete(0, 'end') list_empty.place_forget() list_rulon.place_forget() list_zebra.place_forget() list_vertic.place_forget() list_goriz.place(x=308, y=130) button_saveGoriz.place(x=308, y=558) button_addGoriz.place(x=660, y=475) button_clearGoriz.place(x=760, y=475) button_delGoriz.place(x=420, y=558) button_editGoriz.place(x=900, y=558) button_editSaveGoriz.place(x=1005, y=558) Goriz_id.place(x=660, y=125) textGorizID.place(x=660, y=145) Goriz_text.place(x=660, y=175) textGoriz.place(x=660, y=195) Goriz_width.place(x=660, y=225) textGorizWidth.place(x=660, y=245) Goriz_color.place(x=660, y=275) textGorizColor.place(x=660, y=295) Goriz_struct.place(x=660, y=325) textGorizStruct.place(x=660, y=345) Goriz_price.place(x=660, y=375) textGorizPrice.place(x=660, y=395) textGorizINFO.place(x=600, y=558) #открыть файл горизонтальные и поместить в listbox---------------- try: openf = open( 'C:/Users/Anton/Desktop/Capsula-2.0/Code/Python/Jaluzi01/data_files/goriz.txt', 'r') for i in openf: list_goriz.insert(END, i) openf.close() except: messagebox.showerror("Ошибка", "Файл отсутствует!") def SaveGoriz(): try: f = open( 'C:/Users/Anton/Desktop/Capsula-2.0/Code/Python/Jaluzi01/data_files/goriz.txt', 'w') f.writelines(list_goriz.get(0, END)) f.close() messagebox.showinfo("Оповещение", "Успешно!") except: messagebox.showerror("Ошибка", "Неудача!") def delGoriz(): answer = messagebox.askyesno("Оповещение", "Вы уверены?") if answer == TRUE: select = list(list_goriz.curselection()) select.reverse() for i in select: list_goriz.delete(i) def addGoriz(): list_goriz.insert( END, textGorizID.get('1.0', END + '-1c') + " | " + textGoriz.get('1.0', END + '-1c') + " | " + textGorizWidth.get('1.0', END + '-1c') + " | " + textGorizColor.get('1.0', END + '-1c') + " | " + textGorizStruct.get('1.0', END + '-1c') + " | " + textGorizPrice.get('1.0', END + '-1c') + '\n') def clearGoriz(): textGorizID.delete(1.0, END) textGoriz.delete(1.0, END) textGorizWidth.delete(1.0, END) textGorizColor.delete(1.0, END) textGorizStruct.delete(1.0, END) textGorizPrice.delete(1.0, END) def editGoriz(): try: textGorizINFO.delete(1.0, END) selectGoriz = list(list_goriz.curselection()) selectGoriz2 = list_goriz.get(selectGoriz) textGorizINFO.insert(END, selectGoriz2) try: ID = textGorizINFO.get(1.0, 1.4) ID2 = ID + ".gif" photo = PhotoImage( file= 'C:/Users/Anton/Desktop/Capsula-2.0/Code/Python/Jaluzi01/tkani/goriz/' + ID2) img = canvas.create_image(1040, 275, image=photo) except: foto = PhotoImage( file= 'C:/Users/Anton/Desktop/Capsula-2.0/Code/Python/Jaluzi01/tkani/null.gif' ) null = canvas.create_image(1040, 275, image=foto) null.pack() except: messagebox.showerror( "Ошибка", "Отсутствует выделение строки, либо изображение не найдено!") img.pack() def editSaveGoriz(): try: selectGoriz = list(list_goriz.curselection()) NewData = textGorizINFO.get('1.0', END + '-1c') selectGoriz2 = list_goriz.get(selectGoriz) list_goriz.insert(list_goriz.curselection(), NewData) select = list(list_goriz.curselection()) select.reverse() for i in select: list_goriz.delete(i) except: messagebox.showerror("Ошибка", "Нечего сохранять") #--------------------------Горизонтальные и Ткани конец------------------------------------------------------------------------------ #----------------Файлы--------------------------------------------------------------------------------------------------------------- def files(): clearWinAll() calc_title.place_forget() files_title.place_forget() tkani_title.place_forget() files_title.place(x=1090, y=10) #---------------Конец файлов--------------------------------------------------------------------------------------------------------- def clearWinTkani(): list_empty.place_forget() list_rulon.place_forget() list_vertic.place_forget() list_goriz.place_forget() rulon_id.place_forget() rulon_text.place_forget() rulon_width.place_forget() rulon_color.place_forget() rulon_struct.place_forget() rulon_prozr.place_forget() rulon_price.place_forget() textRulonID.place_forget() textRulon.place_forget() textRulonWidth.place_forget() textRulonColor.place_forget() textRulonStruct.place_forget() textRulonProzr.place_forget() textRulonPrice.place_forget() textRulonINFO.place_forget() button_addRulon.place_forget() button_clearRulon.place_forget() button_saveRulon.place_forget() button_delRulon.place_forget() button_editRulon.place_forget() button_editSaveRulon.place_forget() button_saveZebra.place_forget() button_delZebra.place_forget() button_addZebra.place_forget() button_clearZebra.place_forget() button_editZebra.place_forget() button_editSaveZebra.place_forget() zebra_id.place_forget() zebra_text.place_forget() zebra_width.place_forget() zebra_color.place_forget() zebra_struct.place_forget() zebra_prozr.place_forget() zebra_price.place_forget() textZebraID.place_forget() textZebra.place_forget() textZebraWidth.place_forget() textZebraColor.place_forget() textZebraStruct.place_forget() textZebraProzr.place_forget() textZebraPrice.place_forget() textZebraINFO.place_forget() button_saveVertic.place_forget() button_delVertic.place_forget() button_addVertic.place_forget() button_clearVertic.place_forget() button_editVertic.place_forget() button_editSaveVertic.place_forget() Vertic_id.place_forget() Vertic_text.place_forget() Vertic_width.place_forget() Vertic_color.place_forget() Vertic_struct.place_forget() Vertic_prozr.place_forget() Vertic_price.place_forget() textVerticID.place_forget() textVertic.place_forget() textVerticWidth.place_forget() textVerticColor.place_forget() textVerticStruct.place_forget() textVerticProzr.place_forget() textVerticPrice.place_forget() textVerticINFO.place_forget() button_saveGoriz.place_forget() button_delGoriz.place_forget() button_addGoriz.place_forget() button_clearGoriz.place_forget() button_editGoriz.place_forget() button_editSaveGoriz.place_forget() Goriz_id.place_forget() Goriz_text.place_forget() Goriz_width.place_forget() Goriz_color.place_forget() Goriz_struct.place_forget() Goriz_price.place_forget() textGorizID.place_forget() textGoriz.place_forget() textGorizWidth.place_forget() textGorizColor.place_forget() textGorizStruct.place_forget() textGorizPrice.place_forget() textGorizINFO.place_forget() def clearWinAll(): list_empty.place_forget() list_rulon.place_forget() list_zebra.place_forget() list_vertic.place_forget() list_goriz.place_forget() button_rulon.place_forget() button_zebra.place_forget() button_vertic.place_forget() button_goriz.place_forget() tkani_title.place_forget() files_title.place_forget() button_saveRulon.place_forget() button_addRulon.place_forget() button_delRulon.place_forget() rulon_id.place_forget() textRulonID.place_forget() rulon_text.place_forget() textRulon.place_forget() rulon_width.place_forget() textRulonWidth.place_forget() rulon_color.place_forget() textRulonColor.place_forget() rulon_struct.place_forget() textRulonStruct.place_forget() rulon_prozr.place_forget() textRulonProzr.place_forget() rulon_price.place_forget() textRulonPrice.place_forget() button_clearRulon.place_forget() button_editRulon.place_forget() button_editSaveRulon.place_forget() textRulonINFO.place_forget() zebra_id.place_forget() zebra_text.place_forget() zebra_width.place_forget() zebra_color.place_forget() zebra_struct.place_forget() zebra_prozr.place_forget() zebra_price.place_forget() textZebraID.place_forget() textZebra.place_forget() textZebraWidth.place_forget() textZebraColor.place_forget() textZebraStruct.place_forget() textZebraProzr.place_forget() textZebraPrice.place_forget() textZebraINFO.place_forget() button_saveZebra.place_forget() button_delZebra.place_forget() button_addZebra.place_forget() button_clearZebra.place_forget() button_editZebra.place_forget() button_editSaveZebra.place_forget() button_saveVertic.place_forget() button_delVertic.place_forget() button_addVertic.place_forget() button_clearVertic.place_forget() button_editVertic.place_forget() button_editSaveVertic.place_forget() Vertic_id.place_forget() Vertic_text.place_forget() Vertic_width.place_forget() Vertic_color.place_forget() Vertic_struct.place_forget() Vertic_prozr.place_forget() Vertic_price.place_forget() textVerticID.place_forget() textVertic.place_forget() textVerticWidth.place_forget() textVerticColor.place_forget() textVerticStruct.place_forget() textVerticProzr.place_forget() textVerticPrice.place_forget() textVerticINFO.place_forget() button_saveGoriz.place_forget() button_delGoriz.place_forget() button_addGoriz.place_forget() button_clearGoriz.place_forget() button_editGoriz.place_forget() button_editSaveGoriz.place_forget() Goriz_id.place_forget() Goriz_text.place_forget() Goriz_width.place_forget() Goriz_color.place_forget() Goriz_struct.place_forget() Goriz_price.place_forget() textGorizID.place_forget() textGoriz.place_forget() textGorizWidth.place_forget() textGorizColor.place_forget() textGorizStruct.place_forget() textGorizPrice.place_forget() textGorizINFO.place_forget() img.place_forget()
# define the last segment last_seg = c.coords(self.segments[0].instance) # define coordinates where to set the next segment x = last_seg[2] - SEG_SIZE y = last_seg[3] - SEG_SIZE # insert one more segment in defined coordinates self.segments.insert(0, Segment(x, y)) # create window root = Tk() # set window name root.title("Snake") # create class instance Canvas and set background c = Canvas(root, width=WIDTH, height=HEIGHT, bg="black") c.grid() # set focus on Canvas for catching keypress c.focus_set() # creating segments and snake segments = [Segment(SEG_SIZE, SEG_SIZE), Segment(SEG_SIZE*2, SEG_SIZE), Segment(SEG_SIZE*3, SEG_SIZE)] s = Snake(segments) # Reaction on keypress c.bind("<KeyPress>", s.change_direction) create_apple() main() # run window root.mainloop()
def fill(self, pos, alpha, fill=np.array([0, 255, 247], dtype=np.uint8)): add = np.array(np.floor(alpha * fill), dtype=np.uint8) old = np.array(np.floor(self._data[int(pos[1])][int(pos[0])] * (1. - alpha)), dtype=np.uint8) self._data[int(pos[1])][int( pos[0])] = np.min([[255, 255, 255], old + add], axis=0) * .9 def to_tk(self, root): _img = Image.fromarray(self._data) return ImageTk.PhotoImage(image=_img, master=root) if __name__ == '__main__': master = Tk() canvas = Canvas(master, width=c_width, height=c_height) canvas.pack() render_at = np.array([c_width, c_height]) / 2 + render_offset img = Img(width=c_width, height=c_height) def ctx(pos): pos = render_at + np.array([pos[0], -pos[1]]) * render_scale img.fill(pos=pos, alpha=.3, fill=get_color(pos)) def repaint(raw_img): canvas.delete('all') render_img = raw_img.to_tk(master) canvas.create_image(0, 0, image=render_img, anchor='nw')
def visualize(self): """Pops up a window showing a transition diagram. Requires graphviz. Under MacOS Sierra, you'll need to upgrade to 10.12.2 or newer.""" import subprocess from tkinter import (Tk, Canvas, PhotoImage, Scrollbar, HORIZONTAL, VERTICAL, X, Y, BOTTOM, RIGHT, LEFT, YES, BOTH, ALL) import base64 def escape(s): return '"{}"'.format(s.replace('\\', '\\\\').replace('"', '\\"')) dot = [] dot.append("digraph {") dot.append('START[label="",shape=none];') index = {} for i, q in enumerate(self.states): index[q] = i attrs = {'label': escape(str(q)), 'fontname': 'Courier'} if q == self.accept: attrs['peripheries'] = 2 dot.append('{} [{}];'.format( i, ",".join("{}={}".format(k, v) for (k, v) in attrs.items()))) dot.append("START->{};".format(index[self.start])) for q in self.states: ts = collections.defaultdict(list) for t in self.transitions_from.get(q, []): ts[t.r].append(t) for r in ts: if len(ts[r]) > 8: label = "\\n".join(":".join(map(str, t.a)) for t in ts[r][:5]) + "\\n..." else: label = "\\n".join(":".join(map(str, t.a)) for t in ts[r]) dot.append('{}->{}[label={},fontname=Courier];'.format( index[q], index[r], escape(label))) dot.append("}") dot = "\n".join(dot) proc = subprocess.run(["dot", "-T", "gif"], input=dot.encode("utf8"), stdout=subprocess.PIPE) if proc.returncode == 0: root = Tk() scrollx = Scrollbar(root, orient=HORIZONTAL) scrollx.pack(side=BOTTOM, fill=X) scrolly = Scrollbar(root, orient=VERTICAL) scrolly.pack(side=RIGHT, fill=Y) canvas = Canvas(root) image = PhotoImage(data=base64.b64encode(proc.stdout)) canvas.create_image(0, 0, image=image, anchor="nw") canvas.pack(side=LEFT, expand=YES, fill=BOTH) canvas.config(xscrollcommand=scrollx.set, yscrollcommand=scrolly.set) canvas.config(scrollregion=canvas.bbox(ALL)) scrollx.config(command=canvas.xview) scrolly.config(command=canvas.yview) root.mainloop()
from itertools import cycle from random import randrange from tkinter import Tk, Canvas, messagebox, font canvas_width = 800 canvas_height = 400 win = Tk() #create canvas c = Canvas(win, width=canvas_width, height=canvas_height, background='deep sky blue') #create ground c.create_rectangle(-5, canvas_height - 100, canvas_width + 5, canvas_height + 5, fill='sea green', width=0) #create sun c.create_oval(-80, -80, 120, 120, fill='orange', width=0) c.pack() #create eggs color_cycle = cycle([ 'light blue', 'light pink', 'light yellow', 'light green', 'red', 'blue', 'green', 'black' ]) egg_width = 45 egg_height = 55
if is_ok: with open("data.txt", mode="a") as f: f.write( f"{website_input.get()} | {password_result.get()} | {email_input.get()}\n" ) password_result.delete(0, END) website_input.delete(0, END) # ---------------------------- UI SETUP ------------------------------- # window = Tk() window.title("My Pass Generator") window.config(padx=20, pady=20) canvas = Canvas(width=200, height=200) # mypass_img = ImageTk.PhotoImage(file="logo.png") mypass_img = ImageTk.PhotoImage(Image.open("logo.png").convert("RGB")) canvas.create_image(100, 100, image=mypass_img) canvas.grid(row=1, column=1) website_label = Label(text="Website: ") website_label.grid(row=2, column=0) website_input = Entry(width=35) website_input.focus() website_input.grid(row=2, column=1, columnspan=2, sticky=W) email_label = Label(text="Email/Username: ") email_label.grid(row=3, column=0)