Сортировать по QLineEdit в QTableWidget - PullRequest
0 голосов
/ 05 августа 2011

У меня есть QTableWidget, в котором есть комбинация QLineEdit и обычных элементов ячейки таблицы.Я хотел бы знать, как лучше отсортировать данные в таблице по значениям в столбце QLineEdit.

Вот пример.

| customer code |    header    |    message    |
------------------------------------------------
|   QLineEdit   | normal cell  |  normal cell  |
|   QLineEdit   | normal cell  |  normal cell  |
|   QLineEdit   | normal cell  |  normal cell  |
|   QLineEdit   | normal cell  |  normal cell  |
|   QLineEdit   | normal cell  |  normal cell  |

Я хотел бы отсортироватьв столбце кода клиента, но поскольку это QLineEdit (установлено с setCellWidget()), таблица не будет сортировать по ее значениям.

Я знаю, что могу вынуть каждое значение, поместить их во временноевозьмите объект или строку и перетасуйте ряды вокруг, но это было бы удивительно уродливо и медленно.Есть ли лучший способ сделать это?

1 Ответ

1 голос
/ 05 августа 2011

Есть несколько способов сделать это, вот пара идей:

  • Используйте QTableWidgetItem :: setText () для ваших ячеек, в которых есть правки строк.Если вы сохраняете текст, установленный в ячейке, синхронизированным с тем, что находится в ваших правках строки, поведение сортировки должно быть сохранено.
  • Подкласс QTableWidgetItem и перегружаете оператор <, после чего вы можете получить правки строкии сравнить их значения вручную. </li>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...