QTreeView со столбцами

Я получил эти сообщения по шине can, которые должны отображаться на подходящем виджете Qt (см. Прикрепленное изображение). Кажется, я могу использовать QTreeView для этого.

Мне нужно показать дерево, которое содержит много сообщений, как показано на картинке. Каждая строка будет содержать информацию о полученном сообщении.

Он должен состоять из столбцов:

  • длина
  • Время получения
  • ID сообщения
  • Название сообщения
  • Содержание сообщения

и когда я раскрываю сообщение, оно должно показывать разные сигналы.

Как я могу сделать QTreeView со столбцами?

1 ответ

Существует проблема, которая не позволяет вам делать то, что показывает этот скриншот, и заключается в том, что уровни первого и второго уровней не имеют одинакового расположения столбцов. AFAIK, это невозможно сделать с QTableView или же QTableWidget текущие реализации, и вам придется реализовать свой собственный класс.

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

Вы можете, QTreeView - это всего лишь QTableView с некоторыми изображениями для первого столбца.

Добавьте все столбцы, которые вы хотите к вашей модели. Простого [QStandardItemModel][1] было бы достаточно, чтобы сделать что-то вроде скриншота

Просто запомни 2 вещи:

  1. Будут отображаться только дочерние элементы первого столбца.
  2. Первый столбец не может быть скрыт.

    [1]: http://qt-project.org/doc/qt-4.8/qstandarditemmodel.html

Другие вопросы по тегам