from tkinter import *
import sqlite3
import tkinter

def database():
    conn = sqlite3.connect('database.db')
    cursor=conn.cursor()
    cursor.execute("CREATE TABLE IF NOT EXISTS Student (username TEXT, password TEXT)")
    conn.commit()

global app
app = Tk()
app.title('Авторизация') # заголовок окна
app.geometry('450x300')  # размер окна 
app.resizable(False, False)  # можно ли изменять размер окна - нет

username = StringVar()
password=StringVar()

# кортежи и словари, содержащие настройки шрифтов и отступов
font_header = ('Arial', 15)
font_entry = ('Arial', 12)
label_font = ('Arial', 11)
base_padding = {'padx': 10, 'pady': 8}
header_padding = {'padx': 10, 'pady': 12}

# заголовок формы: настроены шрифт (font), отцентрирован (justify), добавлены отступы для заголовка
# для всех остальных виджетов настройки делаются также
main_label = Label(app, text='Авторизация', font=font_header, justify=CENTER, **header_padding)
# помещаем виджет в окно по принципу один виджет под другим
main_label.pack()

username_label = Label(app, text='Имя пользователя', font=label_font , **base_padding) # метка для поля ввода имени
username_label.pack()

username_entry = Entry(app, bg='#fff', fg='#444', font=font_entry, textvar=username)
username_entry.pack()  # поле ввода имени

password_label = Label(app, text='Пароль', font=label_font , **base_padding)
password_label.pack()  # метка для поля ввода пароля

password_entry = Entry(app, bg='#fff', fg='#444',show='*', font=font_entry, textvar=password)
password_entry.pack()  # поле ввода пароля

send_btn = Button(app, text='Войти',command= database())  # кнопка отправки формы
send_btn.pack(**base_padding)

class SignUp():
    global createSignUp
    def createSignUp():
        window = Toplevel(app)
        window.title('Регистрация') # заголовок окна
        window.geometry('450x230')  # размер окна
        window.resizable(False, False)  # можно ли изменять размер окна - нет

                # кортежи и словари, содержащие настройки шрифтов и отступов
        font_header = ('Arial', 15)
        font_entry = ('Arial', 12)
        label_font = ('Arial', 11)
        base_padding = {'padx': 10, 'pady': 8}
        header_padding = {'padx': 10, 'pady': 12}

        # заголовок формы: настроены шрифт (font), отцентрирован (justify), добавлены отступы для заголовка
        # для всех остальных виджетов настройки делаются также
        main_label = Label(window, text='Регистрация', font=font_header, justify=CENTER, **header_padding)
        # помещаем виджет в окно по принципу один виджет под другим
        main_label.pack()
    
        global username_entry, password_entry
        username_label = Label(window, text='Имя пользователя', font=label_font , **base_padding) # метка для поля ввода имени
        username_label.pack()

        username_entry = Entry(window, bg='#fff', fg='#444', font=font_entry)
        username_entry.pack()  # поле ввода имени

        password_label = Label(window, text='Пароль', font=label_font , **base_padding)
        password_label.pack()  # метка для поля ввода пароля

        password_entry = Entry(window, bg='#fff', fg='#444',show='*', font=font_entry)
        password_entry.pack()  # поле ввода пароля

        send_btn = Button(window, text='Зарегистрировать',command=lambda:[database()])  # кнопка отправки формы
        send_btn.pack(**base_padding)

info = Label(text="Вы еще не зарегистрированы?")
buttonSignUp = Button(app, text = "Sign Up", command=createSignUp)
buttonSignUp.pack(side=RIGHT, padx=2, pady=1)
info.pack(),buttonSignUp.pack()

app.mainloop()

