#python #pandas #kivy
#python #панды #kivy
Вопрос:
Я создаю приложение Kivy / Python, которое генерирует форматированный отчет. Сам отчет генерируется с помощью фреймов данных pandas, а затем записывается в Excel. Я хотел бы добавить что-то в пользовательский интерфейс, что позволило бы пользователям применять пользовательскую сортировку к отчету.
Так, например, если в фрейме данных есть поле «Категория» со значениями «Cat1», «Cat2», «Cat3», я хотел бы добавить функцию, с помощью которой пользователь мог бы упорядочивать эти категории в произвольном порядке.
Я представляю себе список элементов в пользовательском интерфейсе Kivy, который пользователь мог бы отсортировать, перетаскивая элементы? Или даже простого списка со стрелкой вверх / вниз будет достаточно. Я полагаю, что это обычно называется listbox, но, похоже, я не могу найти этот виджет в Kivy. В настоящее время я управляю сортировкой, просто имея внешний документ сопоставления, но вместо этого я хотел бы интегрировать это в функциональность приложения.
Примечание: я не ищу подробный код или что-то еще — просто некоторые идеи о том, какие модули / виджеты / подход могут здесь работать.
Любые мысли будут с благодарностью!
Спасибо
Ответ №1:
Храните данные внутри свойства списка.
Создайте таблицу из макета сетки, в которой вы хотели бы отобразить содержимое data
списка. Заголовками таблицы будут кнопки, которые выполняют некоторую сортировку в списке. Каждый раз, когда список изменяется, on_data
будет запускаться обратный вызов. Используйте обратный вызов для перерисовки строк таблицы.