Как я могу интегрировать TKinter с журналом журнала Python?

Я использую TkInter для создания экрана входа в систему здесь, на данный момент, когда я удерживаю кнопку входа внизу, является избыточным и останется таким. Я хочу использовать этот код:

from tkinter import * root = Tk() label_1 = Label(root, text="Username") label_2 = Label(root, text="Password") entry_1 = Entry(root) entry_2 = Entry(root) label_1.grid(row=0, sticky=E) label_2.grid(row=1, sticky=E) entry_1.grid(row=0, column=1) entry_2.grid(row=1, column=1) checkbox = Checkbutton(root, text="Keep me logged in") checkbox.grid(columnspan=2) 

в сочетании с:

 username = "john" input("Username: ") while not username: if username == "john": print("Welcome") else: print("User not found") password = "password" while not password: input("password: ") if password == "password": print("Logged in") else: print("Incorrect password") 

Однако запись в код не работает, а затем поверх этого я не знаю, с чего начать с интеграции двух друг с другом. Я кое-что нового для python и, тем более, для TkInter, но отчаянно нуждаюсь в этой помощи!

Заранее спасибо!

2 Solutions collect form web for “Как я могу интегрировать TKinter с журналом журнала Python?”

Я продлил ваш пример. Я создал класс, который содержит ваше окно входа в систему.

 from tkinter import * import tkinter.messagebox as tm class LoginFrame(Frame): def __init__(self, master): super().__init__(master) self.label_1 = Label(self, text="Username") self.label_2 = Label(self, text="Password") self.entry_1 = Entry(self) self.entry_2 = Entry(self, show="*") self.label_1.grid(row=0, sticky=E) self.label_2.grid(row=1, sticky=E) self.entry_1.grid(row=0, column=1) self.entry_2.grid(row=1, column=1) self.checkbox = Checkbutton(self, text="Keep me logged in") self.checkbox.grid(columnspan=2) self.logbtn = Button(self, text="Login", command = self._login_btn_clickked) self.logbtn.grid(columnspan=2) self.pack() def _login_btn_clickked(self): #print("Clicked") username = self.entry_1.get() password = self.entry_2.get() #print(username, password) if username == "john" and password == "password": tm.showinfo("Login info", "Welcome John") else: tm.showerror("Login error", "Incorrect username") root = Tk() lf = LoginFrame(root) root.mainloop() 

Извините за то, что вы не перейдете к каждой отдельной строке, что там происходит. Я оставляю это вам, чтобы понять. Это хорошее упражнение. Но я скажу, что самое главное – command = self._login_btn_clickked . Эта функция будет выполнена при нажатии кнопки входа в систему. В этой функции вы берете значения имени пользователя и пароля и проверяете, правильны ли они. Также я не прикреплял обратные вызовы к флажку. Но это было бы похоже на то, что уже сделано.

введите описание изображения здесь

Вероятно, вам нужна кнопка «Войти», верно? Если вы это сделаете, вы можете связать функцию для запуска, когда она нажата, используя аргумент command . В функции, которую вызывает кнопка, вы можете выполнить проверки правильного имени пользователя и пароля. Однако не используйте циклы while, просто проверяйте один раз при каждом нажатии кнопки и отвечайте соответствующим образом.

  • соскабливание way2sms с механизацией
  • Анализ аякс-ответов для получения окончательного содержания url в Scrapy?
  • Получение атрибутов в PyQuery?
  • Ghost.py не находит PySide?
  • Заполнение формы с использованием PyQt и QWebview
  • Скребок экрана с Python
  • XPath не работает для очистки экрана
  • Как справиться с обработкой dns
  • Нажмите на ссылку javascript внутри python?
  • Альтернативы Selenium / Webdriver для заполнения полей при сглаживании без использования Python?
  • Python - лучший язык программирования в мире.