Как использовать привязку с ttkbootstrap.DateEntry для обновления метки с выбранной датой?Python

Программы на Python
Ответить
Anonymous
 Как использовать привязку с ttkbootstrap.DateEntry для обновления метки с выбранной датой?

Сообщение Anonymous »

Я использую платформу ttkbootstrap в основном из-за современной DateEntry, и в ней есть несколько полезных тем. Моя цель состоит в том, чтобы виджет DateEntry автоматически обновлял метку с датой, выбранной из DatePickerPopup, но событие "" с использованием .bind() не работает так, как с обычным tkinter. Мой обходной путь — использовать кнопку для вызова моей функции update_label по щелчку мыши. Какое виртуальное событие генерируется каждый раз, когда пользователь выбирает дату?
Вот мой фрагмент кода:
import ttkbootstrap as ttk
from datetime import datetime

def update_label(event):
selected_date = cal.entry.get()
date_object = datetime.strptime(selected_date, "%m/%d/%Y")
formated_date = date_object.strftime("%A, %b %d")
label.config(text=f"{formated_date}")

root = ttk.Window()
root.geometry("600x400")

# Label
label = ttk.Label(root, text="Today")
label.pack(pady=5)

# DateEntry
cal = ttk.DateEntry(root, bootstyle="primary")
cal.pack(pady=5)
cal.bind("", update_label) # FIX

root.mainloop()

Документация ttkbootstrap: https://ttkbootstrap.readthedocs.io/en/ ... dateentry/
Вот, сказано. .. "Виджет ввода даты сочетает в себе поле со списком и кнопку с обратным вызовом, прикрепленным к функции get_date.
При нажатии отображается всплывающее окно выбора даты. Возвращаемое значение вставляется в поле со списком.
Всплывающее окно выбора даты будет использовать дату в поле со списком в качестве даты фокуса..."
Обходным решением является использование кнопки , вот так...
btn = ttk.Button(root, text="Update", command=update_label)
btn.pack(pady=5)


Подробнее здесь: https://stackoverflow.com/questions/774 ... h-the-sele
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»