2013-04-16 9 views
1

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

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

Он должен состоять из колонок:

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

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

enter image description here

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

+5

Все, что вам нужно, это модель, которая имеет более чем один столбец. Что вы пробовали? Что не работает? – Mat

ответ

2

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

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

Вы можете, QTreeView является лишь QTableView с некоторым искусством для первый колонка.

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

Только помните 2 вещи: будут отображаться

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

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

Смежные вопросы