Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » GUI
  • » Сортировка по нескольким столбцам в таблице QTableWidget [RSS Feed]

#1 Дек. 24, 2020 13:33:08

Ser5+
Зарегистрирован: 2019-11-18
Сообщения: 65
Репутация: +  1  -
Профиль   Отправить e-mail  

Сортировка по нескольким столбцам в таблице QTableWidget

Сортировка по одному полю понятно tb.sortItems(11, QtCore.Qt.DescendingOrder)
Но как сделать по нескольким?
Некоторые сортировки у меня по запросу с базы постгри.Но со временем появились динамические колонки,которые на лету создаются не из базы.
И я хотел сделать одну сортировку из базы по одним полям и сделать еще дополнительную к нему сортировку.
То есть например в базе таблица с колонками 1,2,3
А в QTableWidget 4 колонки (1,2,3,4) первые три из базы берутся,а 4 динамическая создается при открытии программы с нужными значениями.
Допустим мне нужно сделать сортировку по 2 и 4 полям.
Логично в запросе будет стоять сортировка по 2 полю и вторую сортировку по table.sortItems(4, QtCore.Qt.DescendingOrder) верно? А если нужно сортировать такие 1,4,2 то уже не получится таким способом. Вот и подумал может есть способ сортировки по нескольким столбцам в QTableWidget?

Офлайн

#2 Дек. 25, 2020 00:56:51

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 8559
Репутация: +  764  -
Профиль   Отправить e-mail  

Сортировка по нескольким столбцам в таблице QTableWidget

Ser5+
Вот и подумал может есть способ сортировки по нескольким столбцам в QTableWidget?
Скорее всего, тебе нужно на простой таблице (на прототипе) получить нужный алгоритм, а потом реализовать его же в своей программе на PyQt.
Простую таблицу можно сделать в питоне в виде списка списков, заполнить её примерными данными, посортировать её по разным полям. И вот когда оно получится так, как надо, у тебя будет алгоритм в результате. И вот этот алгоритм можно сделать уже в программе в виде функции. В функцию подаётся таблица и набор полей для сортировки, а потом функция возвращает отсортированную таблицу по этим полям. Внутри функции - твой алгоритм реализованный.

Ser5+
Вот и подумал может есть способ сортировки по нескольким столбцам в QTableWidget?
Нет. Там только сортировка рядов по одной колонке. Возможно, там можно перегнать в базу данных, отсортировать в ней средствами этой базы данных, получить отсортированные данные и вставить обратно в таблицу.



Отредактировано py.user.next (Дек. 25, 2020 00:57:08)

Офлайн

  • Начало
  • » GUI
  • » Сортировка по нескольким столбцам в таблице QTableWidget[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version