Я пытаюсь создать простой скрипт, но делаю логин для него с помощью tkinter, всякий раз, когда имя пользователя и пароль вводятся правильно, он должен закрыть окно tkinter и перейти в оболочку, код командной строки и код tkinter находятся в В том же файле .py проблема в том, что всякий раз, когда я пытаюсь использовать классы, python переходит прямо в код CLI, полностью игнорируя tkinter.
from tkinter import *
class CLI():
def something():
eg = input("name: ")
print("your name is",eg)
something()
def login():
if (txtUsername.get() == "admin" and txtPassword.get() == "secret"):
messagebox.showinfo("Access granted", "Valid")
c = CLI()
print(c)
top.destroy()
else:
messagebox.showinfo("Access denied", "Invalid")
top = Tk()
top.wm_title("example")
top.minsize(width=500, height=400)
top.resizable(width=False, height=False)
var = StringVar()
lblUsername = Label(top, text="Username:")
lblUsername.pack()
txtUsername = Entry(top)
txtUsername.pack()
lblPassword = Label(top, text="Password:")
lblPassword.pack()
txtPassword = Entry(top)
txtPassword.pack()
btnCHKLogin = Button(top, text="Check Login..", command=login)
btnCHKLogin.pack()
1 ответ
Проблема в том, что вы вызываете something()
сразу после его определения, а не после выполнения кода tkinter
:
def something():
eg = input("name: ")
print("your name is",eg)
something() #you call something() here so it executes first
Удаление этой строки позволит запускать код tkinter.
Похожие вопросы
Новые вопросы
python
Python — это мультипарадигмальный многоцелевой язык программирования с динамической типизацией. Он предназначен для быстрого изучения, понимания и использования, а также обеспечивает чистый и унифицированный синтаксис. Обратите внимание, что Python 2 официально не поддерживается с 01.01.2020. Если у вас есть вопросы о версии Python, добавьте тег [python-2.7] или [python-3.x]. При использовании варианта Python (например, Jython, PyPy) или библиотеки (например, Pandas, NumPy) укажите это в тегах.
class CLI
, вы можете вызвать его позже с помощьюCLI.something()