示例#1
0
    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()
示例#2
0
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()
示例#3
0
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
示例#4
0
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)
示例#5
0
    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)
示例#6
0
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,
示例#7
0
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
示例#8
0
    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()
示例#9
0
#!/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:
示例#10
0
文件: snake.py 项目: koderzhon/snake

# создаем набор сегментов
# и собственно змейку
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
示例#12
0
    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()
示例#13
0
    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')
示例#14
0
    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)
示例#15
0
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"))
示例#16
0
 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)
示例#17
0
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
示例#18
0
'''
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:
示例#19
0
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
示例#20
0
文件: demo.py 项目: p-virex/iteens
# 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)
示例#22
0
#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
示例#23
0
    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]):
示例#24
0
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)
示例#25
0
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()
示例#26
0
        # 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()
示例#27
0
    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')
示例#28
0
文件: fst.py 项目: mylekiller/hw2
    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()
示例#29
0
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
示例#30
0
        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)