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()
ZnJvbSB0a2ludGVyIGltcG9ydCAqCmltcG9ydCBzcWxpdGUzCmltcG9ydCB0a2ludGVyCgpkZWYgZGF0YWJhc2UoKToKICAgIGNvbm4gPSBzcWxpdGUzLmNvbm5lY3QoJ2RhdGFiYXNlLmRiJykKICAgIGN1cnNvcj1jb25uLmN1cnNvcigpCiAgICBjdXJzb3IuZXhlY3V0ZSgiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgU3R1ZGVudCAodXNlcm5hbWUgVEVYVCwgcGFzc3dvcmQgVEVYVCkiKQogICAgY29ubi5jb21taXQoKQoKZ2xvYmFsIGFwcAphcHAgPSBUaygpCmFwcC50aXRsZSgn0JDQstGC0L7RgNC40LfQsNGG0LjRjycpICMg0LfQsNCz0L7Qu9C+0LLQvtC6INC+0LrQvdCwCmFwcC5nZW9tZXRyeSgnNDUweDMwMCcpICAjINGA0LDQt9C80LXRgCDQvtC60L3QsCAKYXBwLnJlc2l6YWJsZShGYWxzZSwgRmFsc2UpICAjINC80L7QttC90L4g0LvQuCDQuNC30LzQtdC90Y/RgtGMINGA0LDQt9C80LXRgCDQvtC60L3QsCAtINC90LXRggoKdXNlcm5hbWUgPSBTdHJpbmdWYXIoKQpwYXNzd29yZD1TdHJpbmdWYXIoKQoKIyDQutC+0YDRgtC10LbQuCDQuCDRgdC70L7QstCw0YDQuCwg0YHQvtC00LXRgNC20LDRidC40LUg0L3QsNGB0YLRgNC+0LnQutC4INGI0YDQuNGE0YLQvtCyINC4INC+0YLRgdGC0YPQv9C+0LIKZm9udF9oZWFkZXIgPSAoJ0FyaWFsJywgMTUpCmZvbnRfZW50cnkgPSAoJ0FyaWFsJywgMTIpCmxhYmVsX2ZvbnQgPSAoJ0FyaWFsJywgMTEpCmJhc2VfcGFkZGluZyA9IHsncGFkeCc6IDEwLCAncGFkeSc6IDh9CmhlYWRlcl9wYWRkaW5nID0geydwYWR4JzogMTAsICdwYWR5JzogMTJ9CgojINC30LDQs9C+0LvQvtCy0L7QuiDRhNC+0YDQvNGLOiDQvdCw0YHRgtGA0L7QtdC90Ysg0YjRgNC40YTRgiAoZm9udCksINC+0YLRhtC10L3RgtGA0LjRgNC+0LLQsNC9IChqdXN0aWZ5KSwg0LTQvtCx0LDQstC70LXQvdGLINC+0YLRgdGC0YPQv9GLINC00LvRjyDQt9Cw0LPQvtC70L7QstC60LAKIyDQtNC70Y8g0LLRgdC10YUg0L7RgdGC0LDQu9GM0L3Ri9GFINCy0LjQtNC20LXRgtC+0LIg0L3QsNGB0YLRgNC+0LnQutC4INC00LXQu9Cw0Y7RgtGB0Y8g0YLQsNC60LbQtQptYWluX2xhYmVsID0gTGFiZWwoYXBwLCB0ZXh0PSfQkNCy0YLQvtGA0LjQt9Cw0YbQuNGPJywgZm9udD1mb250X2hlYWRlciwganVzdGlmeT1DRU5URVIsICoqaGVhZGVyX3BhZGRpbmcpCiMg0L/QvtC80LXRidCw0LXQvCDQstC40LTQttC10YIg0LIg0L7QutC90L4g0L/QviDQv9GA0LjQvdGG0LjQv9GDINC+0LTQuNC9INCy0LjQtNC20LXRgiDQv9C+0LQg0LTRgNGD0LPQuNC8Cm1haW5fbGFiZWwucGFjaygpCgp1c2VybmFtZV9sYWJlbCA9IExhYmVsKGFwcCwgdGV4dD0n0JjQvNGPINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjycsIGZvbnQ9bGFiZWxfZm9udCAsICoqYmFzZV9wYWRkaW5nKSAjINC80LXRgtC60LAg0LTQu9GPINC/0L7Qu9GPINCy0LLQvtC00LAg0LjQvNC10L3QuAp1c2VybmFtZV9sYWJlbC5wYWNrKCkKCnVzZXJuYW1lX2VudHJ5ID0gRW50cnkoYXBwLCBiZz0nI2ZmZicsIGZnPScjNDQ0JywgZm9udD1mb250X2VudHJ5LCB0ZXh0dmFyPXVzZXJuYW1lKQp1c2VybmFtZV9lbnRyeS5wYWNrKCkgICMg0L/QvtC70LUg0LLQstC+0LTQsCDQuNC80LXQvdC4CgpwYXNzd29yZF9sYWJlbCA9IExhYmVsKGFwcCwgdGV4dD0n0J/QsNGA0L7Qu9GMJywgZm9udD1sYWJlbF9mb250ICwgKipiYXNlX3BhZGRpbmcpCnBhc3N3b3JkX2xhYmVsLnBhY2soKSAgIyDQvNC10YLQutCwINC00LvRjyDQv9C+0LvRjyDQstCy0L7QtNCwINC/0LDRgNC+0LvRjwoKcGFzc3dvcmRfZW50cnkgPSBFbnRyeShhcHAsIGJnPScjZmZmJywgZmc9JyM0NDQnLHNob3c9JyonLCBmb250PWZvbnRfZW50cnksIHRleHR2YXI9cGFzc3dvcmQpCnBhc3N3b3JkX2VudHJ5LnBhY2soKSAgIyDQv9C+0LvQtSDQstCy0L7QtNCwINC/0LDRgNC+0LvRjwoKc2VuZF9idG4gPSBCdXR0b24oYXBwLCB0ZXh0PSfQktC+0LnRgtC4Jyxjb21tYW5kPSBkYXRhYmFzZSgpKSAgIyDQutC90L7Qv9C60LAg0L7RgtC/0YDQsNCy0LrQuCDRhNC+0YDQvNGLCnNlbmRfYnRuLnBhY2soKipiYXNlX3BhZGRpbmcpCgpjbGFzcyBTaWduVXAoKToKICAgIGdsb2JhbCBjcmVhdGVTaWduVXAKICAgIGRlZiBjcmVhdGVTaWduVXAoKToKICAgICAgICB3aW5kb3cgPSBUb3BsZXZlbChhcHApCiAgICAgICAgd2luZG93LnRpdGxlKCfQoNC10LPQuNGB0YLRgNCw0YbQuNGPJykgIyDQt9Cw0LPQvtC70L7QstC+0Log0L7QutC90LAKICAgICAgICB3aW5kb3cuZ2VvbWV0cnkoJzQ1MHgyMzAnKSAgIyDRgNCw0LfQvNC10YAg0L7QutC90LAKICAgICAgICB3aW5kb3cucmVzaXphYmxlKEZhbHNlLCBGYWxzZSkgICMg0LzQvtC20L3QviDQu9C4INC40LfQvNC10L3Rj9GC0Ywg0YDQsNC30LzQtdGAINC+0LrQvdCwIC0g0L3QtdGCCgogICAgICAgICAgICAgICAgIyDQutC+0YDRgtC10LbQuCDQuCDRgdC70L7QstCw0YDQuCwg0YHQvtC00LXRgNC20LDRidC40LUg0L3QsNGB0YLRgNC+0LnQutC4INGI0YDQuNGE0YLQvtCyINC4INC+0YLRgdGC0YPQv9C+0LIKICAgICAgICBmb250X2hlYWRlciA9ICgnQXJpYWwnLCAxNSkKICAgICAgICBmb250X2VudHJ5ID0gKCdBcmlhbCcsIDEyKQogICAgICAgIGxhYmVsX2ZvbnQgPSAoJ0FyaWFsJywgMTEpCiAgICAgICAgYmFzZV9wYWRkaW5nID0geydwYWR4JzogMTAsICdwYWR5JzogOH0KICAgICAgICBoZWFkZXJfcGFkZGluZyA9IHsncGFkeCc6IDEwLCAncGFkeSc6IDEyfQoKICAgICAgICAjINC30LDQs9C+0LvQvtCy0L7QuiDRhNC+0YDQvNGLOiDQvdCw0YHRgtGA0L7QtdC90Ysg0YjRgNC40YTRgiAoZm9udCksINC+0YLRhtC10L3RgtGA0LjRgNC+0LLQsNC9IChqdXN0aWZ5KSwg0LTQvtCx0LDQstC70LXQvdGLINC+0YLRgdGC0YPQv9GLINC00LvRjyDQt9Cw0LPQvtC70L7QstC60LAKICAgICAgICAjINC00LvRjyDQstGB0LXRhSDQvtGB0YLQsNC70YzQvdGL0YUg0LLQuNC00LbQtdGC0L7QsiDQvdCw0YHRgtGA0L7QudC60Lgg0LTQtdC70LDRjtGC0YHRjyDRgtCw0LrQttC1CiAgICAgICAgbWFpbl9sYWJlbCA9IExhYmVsKHdpbmRvdywgdGV4dD0n0KDQtdCz0LjRgdGC0YDQsNGG0LjRjycsIGZvbnQ9Zm9udF9oZWFkZXIsIGp1c3RpZnk9Q0VOVEVSLCAqKmhlYWRlcl9wYWRkaW5nKQogICAgICAgICMg0L/QvtC80LXRidCw0LXQvCDQstC40LTQttC10YIg0LIg0L7QutC90L4g0L/QviDQv9GA0LjQvdGG0LjQv9GDINC+0LTQuNC9INCy0LjQtNC20LXRgiDQv9C+0LQg0LTRgNGD0LPQuNC8CiAgICAgICAgbWFpbl9sYWJlbC5wYWNrKCkKICAgIAogICAgICAgIGdsb2JhbCB1c2VybmFtZV9lbnRyeSwgcGFzc3dvcmRfZW50cnkKICAgICAgICB1c2VybmFtZV9sYWJlbCA9IExhYmVsKHdpbmRvdywgdGV4dD0n0JjQvNGPINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjycsIGZvbnQ9bGFiZWxfZm9udCAsICoqYmFzZV9wYWRkaW5nKSAjINC80LXRgtC60LAg0LTQu9GPINC/0L7Qu9GPINCy0LLQvtC00LAg0LjQvNC10L3QuAogICAgICAgIHVzZXJuYW1lX2xhYmVsLnBhY2soKQoKICAgICAgICB1c2VybmFtZV9lbnRyeSA9IEVudHJ5KHdpbmRvdywgYmc9JyNmZmYnLCBmZz0nIzQ0NCcsIGZvbnQ9Zm9udF9lbnRyeSkKICAgICAgICB1c2VybmFtZV9lbnRyeS5wYWNrKCkgICMg0L/QvtC70LUg0LLQstC+0LTQsCDQuNC80LXQvdC4CgogICAgICAgIHBhc3N3b3JkX2xhYmVsID0gTGFiZWwod2luZG93LCB0ZXh0PSfQn9Cw0YDQvtC70YwnLCBmb250PWxhYmVsX2ZvbnQgLCAqKmJhc2VfcGFkZGluZykKICAgICAgICBwYXNzd29yZF9sYWJlbC5wYWNrKCkgICMg0LzQtdGC0LrQsCDQtNC70Y8g0L/QvtC70Y8g0LLQstC+0LTQsCDQv9Cw0YDQvtC70Y8KCiAgICAgICAgcGFzc3dvcmRfZW50cnkgPSBFbnRyeSh3aW5kb3csIGJnPScjZmZmJywgZmc9JyM0NDQnLHNob3c9JyonLCBmb250PWZvbnRfZW50cnkpCiAgICAgICAgcGFzc3dvcmRfZW50cnkucGFjaygpICAjINC/0L7Qu9C1INCy0LLQvtC00LAg0L/QsNGA0L7Qu9GPCgogICAgICAgIHNlbmRfYnRuID0gQnV0dG9uKHdpbmRvdywgdGV4dD0n0JfQsNGA0LXQs9C40YHRgtGA0LjRgNC+0LLQsNGC0YwnLGNvbW1hbmQ9bGFtYmRhOltkYXRhYmFzZSgpXSkgICMg0LrQvdC+0L/QutCwINC+0YLQv9GA0LDQstC60Lgg0YTQvtGA0LzRiwogICAgICAgIHNlbmRfYnRuLnBhY2soKipiYXNlX3BhZGRpbmcpCgppbmZvID0gTGFiZWwodGV4dD0i0JLRiyDQtdGJ0LUg0L3QtSDQt9Cw0YDQtdCz0LjRgdGC0YDQuNGA0L7QstCw0L3Riz8iKQpidXR0b25TaWduVXAgPSBCdXR0b24oYXBwLCB0ZXh0ID0gIlNpZ24gVXAiLCBjb21tYW5kPWNyZWF0ZVNpZ25VcCkKYnV0dG9uU2lnblVwLnBhY2soc2lkZT1SSUdIVCwgcGFkeD0yLCBwYWR5PTEpCmluZm8ucGFjaygpLGJ1dHRvblNpZ25VcC5wYWNrKCkKCmFwcC5tYWlubG9vcCgpCgo=