Как отображать (и форматировать) данные времени и даты в Qtableview с помощью pyside2 - PullRequest
0 голосов
/ 01 октября 2019

Я пытаюсь отобразить значения даты и времени в QTableView. Я нашел этот рабочий пример pyside2 (прокрутка вниз) для данных типа string и float:

PySide + QTableView пример

Что мне нужно изменить в табличной моделичтобы я мог отображать дату и время. Как можно отформатировать эти данные, чтобы они отображались, например, как «01 .05.2019».

Я НЕ хочу преобразовывать данные даты и времени в строку заранее, так как тогда данные нельзя будет осмысленно сортировать при нажатии назаголовок таблицы ...

Большое спасибо!

1 Ответ

1 голос
/ 01 октября 2019

Просто верните данные как QDateTime (или QDate или QTime). QTableView должно подойти.

Если вы хотите отформатировать дату по-другому, она начинает усложняться: вам нужно преобразовать ее в строку, используя ваше собственное форматирование. Затем, чтобы получить правильную сортировку, вам нужно вернуть исходные данные даты в другой роли (Qt :: UserRole) и установить ее в качестве роли сортировки, как объяснено в этом ответе (который такжепредлагает альтернативный подход с использованием делегата).

...