Функция кнопки входа - PullRequest
0 голосов
/ 25 ноября 2018

Я экспериментирую с tkinter в python.

На данный момент я создал скрипт, который создает окно входа в систему, которое не имеет никакой функции, как раньше.Я попытался поиграть с def callback(): и command=callback.Поэтому я попытался сделать так, чтобы при нажатии кнопки «Войти» вы могли что-то сделать (например, показать загрузку ... и очистить текстовые поля).

Вот код:

import tkinter

window = tkinter.Tk()
window.title("Login")
window.geometry("250x150")
window.configure(background="#FFFFFF")

label = tkinter.Label(window, text="Please Login to continue:", bg="#FFFFFF", font=("PibotoLt", 16))
label.pack()
label = tkinter.Label(window, text="username:", bg="#FFFFFF")
label.pack()
entry = tkinter.Entry(window)
entry.pack()
label = tkinter.Label(window, text="password:", bg="#FFFFFF")
label.pack()
entry = tkinter.Entry(window)
entry.pack()

def callback():
    button = tkinter.Button(window, text="Login", fg="#FFFFFF", bg="#000000")
    button.pack()
    label = tkinter.Label(window, text="Loading...", bg="#FFFFFF", command=callback)

window.mainloop()

1 Ответ

0 голосов
/ 25 ноября 2018

Существует три проблемы:

  1. Функцию обратного вызова необходимо назначить параметру команды в виджете «Кнопка».
  2. Для двух виджетов ввода требуются разные имена переменных для доступа в обратном вызове
  3. Для функции обратного вызова необходим код, который что-то делает.

Код должен быть

import tkinter

window = tkinter.Tk()

window.title("Login")
window.geometry("250x150")
window.configure(background="#FFFFFF")

label = tkinter.Label(window, text="Please Login to continue:", bg="#FFFFFF", font=("PibotoLt", 16))
label.pack()
label = tkinter.Label(window, text="username:", bg="#FFFFFF")
label.pack()
entry0 = tkinter.Entry(window) # Renamed entry0 to find in callback
entry0.pack()
label = tkinter.Label(window, text="password:", bg="#FFFFFF")
label.pack()
entry1 = tkinter.Entry(window) # Renamed entry1 to differentiate from entry0
entry1.pack()

def callback():
    """ Callback to process a button click. This will be called whenever the button is clicked.
        As a simple example it simply prints username and password.
    """
    print("Username: ", entry0.get(), "    Password: ", entry1.get())

button = tkinter.Button(window, text="Login", fg="#FFFFFF", bg="#000000", command=callback)
button.pack()

window.mainloop()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...