|
1 | 1 | from tkinter import * |
| 2 | +from PIL import Image, ImageTk |
2 | 3 |
|
3 | 4 | preto = '#000' |
4 | 5 | branco = '#fff' |
5 | | -vermelho = '#cc1d4e' |
6 | | -amarelo = '#d1d420' |
7 | | -verde = '#59b356' |
| 6 | +vermelho = '#ff0808' |
| 7 | +vermelhoEsc = '#8c0715' |
| 8 | +amarelo = '#f7f702' |
| 9 | +amareloEsc = '#979908' |
| 10 | +verde = '#0bf702' |
| 11 | +verdeEsc = '#064f04' |
| 12 | +azul = '#02c0fa' |
| 13 | +azulEsc = '#012b4f' |
| 14 | + |
| 15 | + |
8 | 16 | cinza = '#d9d9d9' |
9 | | -dark = '#101010' |
10 | | -dark1 = '#1e1e1e' |
| 17 | +dark1 = '#101010' |
| 18 | +dark2 = '#1e1e1e' |
| 19 | +fonte = '#f7f7f5' |
11 | 20 |
|
| 21 | +# ------------------ CRIANDO JANELA ------------------ ↓ |
12 | 22 | janela = Tk() |
13 | 23 | janela.resizable(width=FALSE, height=FALSE) |
14 | | -janela.geometry('500x225') |
| 24 | +janela.geometry('750x400') |
15 | 25 | janela.title('Ebony Sys | Leonardo Alves → To-Do') |
16 | | -janela.configure(background=dark) |
| 26 | +janela.configure(background=dark1) |
| 27 | +# ------------------ CRIANDO JANELA ------------------ ↑ |
17 | 28 |
|
| 29 | +# -------------------------------- CRIANDO FRAMES -------------------------------- ↓ |
| 30 | +frameTopo = Frame(janela, width=750, height=34, bg=verde, relief='flat') |
| 31 | +frameTopo.grid(row=0, column=0, columnspan=2, sticky=NSEW) |
18 | 32 |
|
| 33 | +frameEsqueda = Frame(janela, width=420, height=400, bg=dark1, relief='flat') |
| 34 | +frameEsqueda.grid(row=1, column=0, sticky=NSEW) |
19 | 35 |
|
20 | | -janela.mainloop() |
| 36 | +frameDireita = Frame(janela, width=330, height=400, bg=dark1, relief='flat') |
| 37 | +frameDireita.grid(row=1, column=1, sticky=NSEW, padx=10) |
| 38 | + |
| 39 | +# Dividindo frameEsqueda em 2 partes |
| 40 | +frameEsqueda1 = Frame(frameEsqueda, width=420, height=50, bg=dark1, relief='flat') |
| 41 | +frameEsqueda1.grid(row=0, column=0, sticky=NSEW) |
| 42 | + |
| 43 | +frameEsqueda2 = Frame(frameEsqueda, width=420, height=350, bg=dark1, relief='flat') |
| 44 | +frameEsqueda2.grid(row=1, column=0, sticky=NSEW) |
| 45 | + |
| 46 | +# -------------------------------- CRIANDO FRAMES -------------------------------- ↑ |
| 47 | +# --------------------------- POSICIONANDO LOGO NO FRAMETOPO -------------------------- ↓ |
| 48 | + |
| 49 | +imgLogo = Image.open('../assets/logo_cs_peq.png') |
| 50 | +imgLogo = imgLogo.resize((30, 30)) |
| 51 | +imgLogo = ImageTk.PhotoImage(imgLogo) |
| 52 | + |
| 53 | +labelLogo = Label(frameTopo, image=imgLogo, text='Ebony SyS', width=750, compound=LEFT, |
| 54 | + padx=5, relief=RAISED, anchor=CENTER, font='Verdana 11 bold italic', |
| 55 | + bg=dark1, fg=branco, borderwidth=0) |
| 56 | +labelLogo.place(x=0, y=0) |
| 57 | + |
| 58 | +# __________________________ POSICIONANDO LOGO NO FRAMETOPO __________________________ ↑ |
| 59 | +# ---------------------------------- CRIANDO BOTÕES ---------------------------------- ↓ |
| 60 | + |
| 61 | +btnNovo = Button(frameEsqueda1, text='Novo', width=10, height=1, bg=dark2, |
| 62 | + fg=amarelo, font='Verdana 10 bold italic', anchor='center', |
| 63 | + relief=RIDGE, activebackground=amarelo) |
| 64 | +btnNovo.grid(row=0, column=0, sticky=NSEW, pady=10, padx=20) |
21 | 65 |
|
| 66 | +btnRemover = Button(frameEsqueda1, text='Remover', width=10, height=1, bg=dark2, |
| 67 | + fg=vermelho, font='Verdana 10 bold italic', anchor='center', |
| 68 | + relief=RIDGE, activebackground=vermelho) |
| 69 | +btnRemover.grid(row=0, column=1, sticky=NSEW, pady=10, padx=20) |
| 70 | + |
| 71 | +btnAtualizar = Button(frameEsqueda1, text='Atualizar', width=10, height=1, bg=dark2, |
| 72 | + fg=azul, font='Verdana 10 bold italic', anchor='center', |
| 73 | + relief=RIDGE, activebackground=azul) |
| 74 | +btnAtualizar.grid(row=0, column=2, sticky=NSEW, pady=10, padx=20) |
| 75 | + |
| 76 | +# -------------------------------- CRIANDO BOTÕES -------------------------------- ↑ |
| 77 | +# -------------------------------- CRIANDO LISTBOX ------------------------------- ↓ |
| 78 | + |
| 79 | +frameTarefas = Label(frameDireita, text='Tarefas:', width=37, height=1, pady=7, |
| 80 | + padx=10, relief='flat', font='Courier 20 bold', fg=branco, |
| 81 | + bg=dark1, anchor=W) |
| 82 | +frameTarefas.grid(row=0, column=0, sticky=NSEW, pady=1) |
| 83 | + |
| 84 | +listBox = Listbox(frameDireita, font='Verdana 12', width=1, height=15, bg=dark2, |
| 85 | + fg=branco, border=10, relief='flat') |
| 86 | +listBox.grid(row=1, column=0, sticky=NSEW, padx=10) |
| 87 | + |
| 88 | +# adicionando tarefas para testar |
| 89 | +tarefas = [ |
| 90 | + 'Terminar este App', |
| 91 | + 'Começar a versão WEB', |
| 92 | +] |
| 93 | +for indice, item in enumerate(tarefas): |
| 94 | + listBox.insert(END, f'{indice+1:^2} → {item}') |
| 95 | + |
| 96 | +# -------------------------------- CRIANDO LISTBOX ------------------------------- ↑ |
| 97 | + |
| 98 | + |
| 99 | + |
| 100 | +janela.mainloop() |
0 commit comments