Russian Qt Forum
Май 05, 2024, 01:45 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как правильно реализовать просмотр данных в таблице. QtableWidget или QtableView  (Прочитано 2034 раз)
VVN
Чайник
*
Offline Offline

Сообщений: 52


Просмотр профиля
« : Октябрь 10, 2014, 23:54 »

Здравствуйте, Уважаемые.

Прошу помощи определится с технологией программирования.

Задача такого плана:.

Нужно отобразить набор данных в таблице.
Столбцов в таблице немного всего 5, а вот строк может быть от 100 до 100 тысяч и больше.
Данные в ячейках таблице, массивы символов (разделены пробелами) которые тоже могут быть разной длины, но не больше 200.
Отображаться будут преимущественно в HEX формате.

Нужно реализовать следующую функциональность:

1. щелкнув мышкой на любом значении в ячейке таблицы он должен подсветится и соответственно должны подсветится все такие же значения, во всех ячейках таблицы
( типа подсветки в редакторе Qt Сreator)
2. Тоже самое только выделив несколько значений в строке.
   Так же возможность скопировать в буфер обмена.

Подсвечиваться должна не вся ячейка, а только символ  в ней.
Редактировать ячейки не нужно.

Сам вижу следующий путь решения задачи.

Создать QtableWidget.
Переопределить QTableWidgetItem в нем создать фильтр  событий и отслеживать курсор и нажатия мыши.
С внешним миром общаться при помощи сигналов.

Не понятно, как определить на какой символ в строке было произведено нажатие.
Ведь в ячейке не набор объектов, а единая строка.
Так же не ясно можно ли отображать разными цветами символы в строке.

Еще можно создать делегата.

Так же можно построить таблицу с помощью QtableView.

Я,  путаюсь в технологиях. C Qt знаком на начальном уровне,  пишу в нем не часто.

Поэтому прошу помощи клуба.

Главный момент размер таблицы, нужно, что бы все нормально крутилось, на не очень навороченном ПК, при 100 тысячах строк в таблице.
Записан
Hrundel
Гость
« Ответ #1 : Октябрь 13, 2014, 21:32 »

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

А уж каким классом это реализовывать  - дело знаний и вкуса. Ну, и еще того - на сколько это оправдано.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.079 секунд. Запросов: 22.