Когда вы создаете виджеты, вы создаете дочерние элементы корневого окна. Однако эти дочерние элементы не являются атрибутами корневого окна. Таким образом, login.username_1
недопустимо, как об этом говорит ошибка.
В этом конкретном случае виджет просто username_1
(например: input_username = username_1.get("1.0", END)
). Однако даже это не сработает по следующим причинам:
- метод
get
записи не принимает аргументов. Вам нужно сделать username_1.get()
.
- вы звоните
get
примерно через одну миллисекунду после создания записи, задолго до того, как у пользователя появится возможность ввести что-либо.
С инструментарием GUI вы не можете думать о том, что ваша программа работает линейно сверху вниз. Вместо этого вы устанавливаете вещи так, чтобы они изначально отображались, а затем вам нужно написать функции, которые реагируют на такие события, как нажатия клавиш и нажатия кнопок. Например, вы можете создать кнопку с меткой «Логин», которая вызывает функцию для проверки правильности учетных данных. Именно в этой функции вы вызываете метод get()
.