customtkinter: вывод символов в консоль во время набора
Подскажите, как сделать проверку поля entry
, чтобы при наборе букв в поле сразу выводить их в консоль?
import customtkinter
from customtkinter import StringVar
class Authorization(customtkinter.CTk):
def __init__(self):
super().__init__()
self.grid_columnconfigure((0, 0), weight=1)
self.geometry("400+200")
self.title("")
self.text_var = StringVar()
# self.text_var.trace("w", self.checking_field_entry())
self.put_widgets()
def checking_field_entry(self):
login = self.text_var.get()
print(login)
def action_btn_signin(self):
print(self.text_var.get())
def action_btn_registr(self):
pass
def put_widgets(self):
font_entry = ("Arial", 18)
self.sign_in_frame = customtkinter.CTkFrame(self)
self.sign_in_frame.grid(row=0, column=0, padx=10, pady=10, sticky="ew")
self.login_entry = customtkinter.CTkEntry(self.sign_in_frame, width=200, font=font_entry,textvariable=self.text_var, placeholder_text="login")
self.login_entry.grid(row=0, column=0, padx=20, pady=(10, 10), ipady=5, sticky="ew")
self.btn_signin = customtkinter.CTkButton(self, width=200, text="войти", corner_radius=24, font=("Arial", 18), command=self.action_btn_signin)
self.btn_signin.grid(row=1, column=0, padx=20, pady=(10, 10), ipady=10, sticky="n")
app = Authorization()
app.mainloop()
Ответы (1 шт):
Автор решения: Михаил
→ Ссылка
Все, нашел, вроде, способ. В tkinter на винде использовал метод trace()
но на мак ос он не работал, просто перечеркнут был. Помог метод trace_add()
.
class Authorization(customtkinter.CTk):
def __init__(self):
super().__init__()
self.grid_columnconfigure((0, 0), weight=1)
self.geometry("400+200")
self.title("")
self.text_var = StringVar()
self.text_var.trace_add("write", self.checking_field_entry)
# trace("w", self.checking_field_entry())
self.put_widgets()
def checking_field_entry(self, *args):
login = self.text_var.get()
print(login)