fork download
  1. from tkinter import *
  2. import sqlite3
  3. import tkinter
  4.  
  5. def database():
  6. conn = sqlite3.connect('database.db')
  7. cursor=conn.cursor()
  8. cursor.execute("CREATE TABLE IF NOT EXISTS Student (username TEXT, password TEXT)")
  9. conn.commit()
  10.  
  11. global app
  12. app = Tk()
  13. app.title('Авторизация') # заголовок окна
  14. app.geometry('450x300') # размер окна
  15. app.resizable(False, False) # можно ли изменять размер окна - нет
  16.  
  17. username = StringVar()
  18. password=StringVar()
  19.  
  20. # кортежи и словари, содержащие настройки шрифтов и отступов
  21. font_header = ('Arial', 15)
  22. font_entry = ('Arial', 12)
  23. label_font = ('Arial', 11)
  24. base_padding = {'padx': 10, 'pady': 8}
  25. header_padding = {'padx': 10, 'pady': 12}
  26.  
  27. # заголовок формы: настроены шрифт (font), отцентрирован (justify), добавлены отступы для заголовка
  28. # для всех остальных виджетов настройки делаются также
  29. main_label = Label(app, text='Авторизация', font=font_header, justify=CENTER, **header_padding)
  30. # помещаем виджет в окно по принципу один виджет под другим
  31. main_label.pack()
  32.  
  33. username_label = Label(app, text='Имя пользователя', font=label_font , **base_padding) # метка для поля ввода имени
  34. username_label.pack()
  35.  
  36. username_entry = Entry(app, bg='#fff', fg='#444', font=font_entry, textvar=username)
  37. username_entry.pack() # поле ввода имени
  38.  
  39. password_label = Label(app, text='Пароль', font=label_font , **base_padding)
  40. password_label.pack() # метка для поля ввода пароля
  41.  
  42. password_entry = Entry(app, bg='#fff', fg='#444',show='*', font=font_entry, textvar=password)
  43. password_entry.pack() # поле ввода пароля
  44.  
  45. send_btn = Button(app, text='Войти',command= database()) # кнопка отправки формы
  46. send_btn.pack(**base_padding)
  47.  
  48. class SignUp():
  49. global createSignUp
  50. def createSignUp():
  51. window = Toplevel(app)
  52. window.title('Регистрация') # заголовок окна
  53. window.geometry('450x230') # размер окна
  54. window.resizable(False, False) # можно ли изменять размер окна - нет
  55.  
  56. # кортежи и словари, содержащие настройки шрифтов и отступов
  57. font_header = ('Arial', 15)
  58. font_entry = ('Arial', 12)
  59. label_font = ('Arial', 11)
  60. base_padding = {'padx': 10, 'pady': 8}
  61. header_padding = {'padx': 10, 'pady': 12}
  62.  
  63. # заголовок формы: настроены шрифт (font), отцентрирован (justify), добавлены отступы для заголовка
  64. # для всех остальных виджетов настройки делаются также
  65. main_label = Label(window, text='Регистрация', font=font_header, justify=CENTER, **header_padding)
  66. # помещаем виджет в окно по принципу один виджет под другим
  67. main_label.pack()
  68.  
  69. global username_entry, password_entry
  70. username_label = Label(window, text='Имя пользователя', font=label_font , **base_padding) # метка для поля ввода имени
  71. username_label.pack()
  72.  
  73. username_entry = Entry(window, bg='#fff', fg='#444', font=font_entry)
  74. username_entry.pack() # поле ввода имени
  75.  
  76. password_label = Label(window, text='Пароль', font=label_font , **base_padding)
  77. password_label.pack() # метка для поля ввода пароля
  78.  
  79. password_entry = Entry(window, bg='#fff', fg='#444',show='*', font=font_entry)
  80. password_entry.pack() # поле ввода пароля
  81.  
  82. send_btn = Button(window, text='Зарегистрировать',command=lambda:[database()]) # кнопка отправки формы
  83. send_btn.pack(**base_padding)
  84.  
  85. info = Label(text="Вы еще не зарегистрированы?")
  86. buttonSignUp = Button(app, text = "Sign Up", command=createSignUp)
  87. buttonSignUp.pack(side=RIGHT, padx=2, pady=1)
  88. info.pack(),buttonSignUp.pack()
  89.  
  90. app.mainloop()
  91.  
  92.  
Runtime error #stdin #stdout #stderr 0.04s 63648KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
Traceback (most recent call last):
  File "prog.py", line 1, in <module>
    from tkinter import *
ImportError: No module named tkinter