Código:
from tkinter import messageboximport customtkinter as ct
import pyodbc
ct.set_appearance_mode("dark") # Modes: system (default), light, dark
ct.set_default_color_theme("dark-blue") # Themes: blue (default), dark-blue, green
app = ct.CTk() # create CTk window like you do with the Tk window
app.title('MainLauncher')
app.geometry("280x500")
#app.resizable(False, False)
def comparacao():
nome = nome_cadastro.get()
nick = nick_cadastro.get()
senha = senha_cadastro.get()
conf_senha = confirmar_senha_cadastro.get()
email = email_cadastro.get()
conf_email = confirmar_email_cadastro.get()
telefone = cadastro_telefone.get()
p_id = person_id.get()
if nome == '' or nick == '' or senha == '' or conf_senha == '' or email == '' or conf_email == '' or p_id == '' or telefone == '':
messagebox.showinfo('Atenção', 'Por favor não deixe campos vazios!')
elif check_var.get() == 'off':
messagebox.showinfo('Atenção', 'Confirme a caixa!')
else:
if senha_cadastro.get() != confirmar_senha_cadastro.get():
messagebox.showerror('Atenção', 'Atenção SENHA não correspondem!')
return
if email_cadastro.get() != confirmar_email_cadastro.get():
messagebox.showerror('Atenção', 'Atenção E-MAIL não correspondem!')
return
else:
server = '(local)'
database = 'MuOnline'
username = 'sa'
password = '123456'
driver = '{SQL Server}'
conn = pyodbc.connect(
'DRIVER=' + driver + ';SERVER=' + server + ';DATABASE=' + database + ';UID=' + username + ';PWD=' + password)
cursor = conn.cursor()
# Define a instrução SQL para inserir um novo registro na tabela MEMB_INFO
sql = "INSERT INTO MEMB_INFO (memb___id, memb__pwd, memb_name, mail_addr, sno__numb, bloc_code, ctl1_code) VALUES (?, ?, ?, ?, ?, ?, ?)"
# Define os valores a serem inseridos
values = (nick, int(senha), nome, email, telefone, '0', '0')
# Executa a instrução SQL com os valores fornecidos
cursor.execute(sql, values)
# Confirma as alterações no banco de dados
conn.commit()
conn.close()
messagebox.showinfo('Parabéns', 'Cadastro realizado com sucesso!')
nome_cadastro.delete(0, ct.END)
nick_cadastro.delete(0, ct.END)
senha_cadastro.delete(0, ct.END)
confirmar_senha_cadastro.delete(0, ct.END)
email_cadastro.delete(0, ct.END)
confirmar_email_cadastro.delete(0, ct.END)
cadastro_telefone.delete(0, ct.END)
person_id.delete(0, ct.END)
nome_cadastro.focus()
def validar_entrada(valor):
if len(valor) > 10:
return False
else:
return True
def validar_email(valor):
if len(valor) > 50:
return False
else:
return True
def validar_id(valor):
if len(valor) > 7:
return False
else:
return True
def validar_tel(valor):
if len(valor) > 11:
return False
else:
return True
# Criando Entradas
nome_cadastro = ct.CTkEntry(master=app, placeholder_text='NOME', validate="key", width=220)
nome_cadastro.pack(padx=10, pady=10)
nome_cadastro.configure(validatecommand=(nome_cadastro.register(validar_entrada), "%P"))
nick_cadastro = ct.CTkEntry(master=app, placeholder_text='NICK', validate="key", width=220)
nick_cadastro.pack(padx=10, pady=10)
nick_cadastro.configure(validatecommand=(nick_cadastro.register(validar_entrada), "%P"))
senha_cadastro = ct.CTkEntry(master=app, placeholder_text='SENHA', validate="key", show='*', width=220)
senha_cadastro.pack(padx=10, pady=10)
senha_cadastro.configure(validatecommand=(senha_cadastro.register(validar_entrada), "%P"))
confirmar_senha_cadastro = ct.CTkEntry(master=app, placeholder_text='CONF.SENHA', validate="key", show='*', width=220)
confirmar_senha_cadastro.pack(padx=10, pady=10)
confirmar_senha_cadastro.configure(validatecommand=(confirmar_senha_cadastro.register(validar_entrada), "%P"))
email_cadastro = ct.CTkEntry(master=app, placeholder_text='E-MAIL', validate="key", width=220)
email_cadastro.pack(padx=10, pady=10)
email_cadastro.configure(validatecommand=(email_cadastro.register(validar_email), "%P"))
confirmar_email_cadastro = ct.CTkEntry(master=app, placeholder_text='CONFIRMAR E-MAIL', validate="key", width=220)
confirmar_email_cadastro.pack(padx=10, pady=10)
confirmar_email_cadastro.configure(validatecommand=(confirmar_email_cadastro.register(validar_email), "%P"))
cadastro_telefone = ct.CTkEntry(master=app, placeholder_text='TELEFONE', validate="key", width=220)
cadastro_telefone.pack(padx=10, pady=10)
cadastro_telefone.configure(validatecommand=(cadastro_telefone.register(validar_tel), "%P"))
person_id = ct.CTkEntry(master=app, placeholder_text='PER. ID', validate="key", width=220)
person_id.pack(padx=10, pady=10)
person_id.configure(validatecommand=(person_id.register(validar_id), "%P"))
check_var = ct.StringVar()
check_var.set("off")
checkbox = ct.CTkCheckBox(master=app, text="Não sou robo!", variable=check_var, onvalue="on", offvalue="off")
checkbox.pack(padx=0, pady=10)
button = ct.CTkButton(master=app, text="CADASTRA-SE", command=comparacao)
button.pack(padx=10, pady=10)
app.mainloop()