GithubHelp home page GithubHelp logo

sitema-de-cadatro_py's Introduction

sistema de cadastro de usuários

from typing import Optional, Tuple, Union import customtkinter as ctk from tkinter import * from tkinter import messagebox import openpyxl, xlrd import pathlib from openpyxl import Workbook

Aparencia padrão do sistema

ctk.set_appearance_mode("Sistema") ctk.set_default_color_theme("blue")

class App(ctk.CTk): def init(self): super().init() self.layout_config() self.appearence() self.todo_sistema()

def layout_config(self):
    self.title("Sistema de Gestão de Clientes")
    self.geometry("700x500")

def appearence(self):
    self.lb_apm = ctk.CTkLabel(self, text="tema", bg_color="transparent", text_color=['#000', "#fff"]).place(x=50, y=430) 
    self.opt_apm = ctk.CTkOptionMenu(self, values=['Ligtht', 'Dark', 'System'], command=self.change_apm).place(x=50, y=460)

def todo_sistema(self):
    Frame = ctk.CTkFrame(self, width=700, height=50, corner_radius=0, bg_color='teal', fg_color='transparent').place(x=0, y=10)
    title = ctk.CTkLabel(Frame, text='Sistema de Gestão de Clientes', font=('Century Gothic bold', 24), text_color='#fff',fg_color='teal').place(x=150, y=20)

    span = ctk.CTkLabel(Frame, text='Por favor, preencha todos os campos do formulário!', font=('Century Gothic bold', 16), text_color=['#000', '#fff']).place(x=50, y=70)

    ficheiro = pathlib.Path("Clientes.xlsx")
    if ficheiro.exists():
        pass
    else:
        ficheiro.Workbook   
        folha=ficheiro.active
        folha['A1']= 'Nome completo'
        folha['B1']= 'Contato'
        folha['C1']= 'Idade' 
        folha['D1']= 'Genero'
        folha['E1']= 'Endereço'
        folha['F1']=  'Observações'

        ficheiro.save('Clientes.xlsx')


    def submit():

      
        # pegando os dados dos entrys
        name = name_entry.get()
        contact = contact_value.get()
        age= age_value.get()
        gender = gender_combobox.get()
        adress = adress_value.get()
        obs = obs_entry.get(0.0, END)

        ficheiro = openpyxl.load_Workbook('Cliente.xlsx')
        folha = ficheiro.active
        folha.cell(column=1, row=folha.max_row+1, velue=name) 
        folha.cell(column=2, row=folha.max_row, velue=contact) 
        folha.cell(column=3, row=folha.max_row, velue=adress)
        folha.cell(column=4, row=folha.max_row, velue=age) 
        folha.cell(column=5, row=folha.max_row, velue=gender) 
        folha.cell(column=6, row=folha.max_row, velue=obs)                                                  

        ficheiro.save(r'Cliente.xlsx')
        messagebox.showinfo('Sistema', 'Dados sauvos com sucesso')

    def clear():
        name_value.set("")
        contact_value.set("")
        age_value.set("")
        adress_value.set("")
        obs_entry.delete(0.0, END)  

    # Textos vairiaveis 

    name_value = StringVar()
    contact_value = StringVar()
    age_value = StringVar()
    adress_value = StringVar()
   


    # Entrys
    name_entry = ctk.CTkEntry(self, width=350, textvariable=name_value, font=('Century Gohtic bold', 16), fg_color='transparent')
    contact_entry = ctk.CTkEntry(self, width=200, textvariable=contact_value, font=('Century Gohtic', 16), fg_color='transparent')
    adress_entry = ctk.CTkEntry(self, width=200, textvariable=adress_value, font=('Century Gohtic bold', 16), fg_color='transparent')
    age_entry = ctk.CTkEntry(self, width=150, textvariable=age_value, font=('Century Gohtic', 16), fg_color='transparent')
   


  
    #combobox
    gender_combobox = ctk.CTkComboBox(self, values=['Masculino', 'Feminino',], font=('entury Gothic bold', 14), width=150)
    gender_combobox.set('Masculino')

    #Entrada de observações
    obs_entry = ctk.CTkTextbox(self, width=470, height=150, font=('arial', 18), border_color='#aaa',border_width=2, fg_color='transparent')

    #Labels
    lb_name = ctk.CTkLabel(Frame, text='Nome Completo:', font=('Century Gothic bold', 16), text_color=['#000', '#fff'])
    lb_contact = ctk.CTkLabel(Frame, text='Contato:', font=('entury Gothic bold', 16), text_color=['#000', '#fff'])
    lb_adress = ctk.CTkLabel(Frame, text='Endereço:', font=('entury Gothic bold', 16), text_color=['#000', '#fff'])
    lb_gender = ctk.CTkLabel(Frame, text='Gênero:', font=('entury Gothic bold', 16), text_color=['#000', '#fff'])
    lb_age = ctk.CTkLabel(Frame, text='Idade:', font=('Century Gothic bold', 16), text_color=['#000', '#fff'])
    lb_adress = ctk.CTkLabel(Frame, text='Endereço:', font=('entury Gothic bold', 16), text_color=['#000', '#fff'])
    lb_obs = ctk.CTkLabel(Frame, text='Observações:', font=('entury Gothic bold', 16), text_color=['#000', '#fff'])     

    btn_submit = ctk.CTkButton(self, text='Salvar dados'.upper(), command=submit, fg_color='#151', hover_color='#131').place(x=300, y=420)
    btn_submit = ctk.CTkButton(self, text='Limpar campos'.upper(), command=clear, fg_color='#555', hover_color='#333').place(x=500, y=420)

    #Posicionando os elementos na Janela
    lb_name.place(x=50, y=120)
    name_entry.place(x=50, y=150)

    lb_contact.place(x=450, y=120)
    contact_entry.place(x=450, y=150)

    lb_adress.place(x=50, y=190)
    adress_entry.place(x=50, y=220)

    lb_age.place(x=300, y=190)
    age_entry.place(x=300, y=220)

    lb_gender.place(x=500, y=190)
    gender_combobox.place(x=500, y=220)

    

    lb_obs.place(x=50, y=260)
    obs_entry.place(x=180, y=260)

   

def change_apm(self, nova_aparencia):
    ctk.set_appearance_mode(nova_aparencia)

if name=="main": app = App() app.mainloop()

sitema-de-cadatro_py's People

Contributors

jeansilvaster avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.