Russian Qt Forum
Ноябрь 06, 2024, 18:33
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Пользовательский интерфейс (GUI)
>
QTableWidget или QAbstractTableModel &QTableView
Страниц:
1
...
5
6
[
7
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: QTableWidget или QAbstractTableModel &QTableView (Прочитано 57326 раз)
daimon
Гость
Re: QTableWidget или QAbstractTableModel &QTableView
«
Ответ #90 :
Декабрь 03, 2009, 21:48 »
Цитата: Igors от Декабрь 03, 2009, 21:11
Цитата: daimon от Декабрь 03, 2009, 21:07
Тогда список не подойдет как контейнер (как тогда узнать индекс) - лучше вектор (индекс ячейки оператор [])
QList - это тоже массив (не смущайтесь что list это "список") он имеет оператор [] так же как и QVector.
Нет просто для индексации всей таблицы нужен вектор (ячейка может быть только в последней колонке, индекс [])
Например 2 колонка 2 строка - [2][2], а если insert то индекс уже не будет такой (вектор изменяется под размер таблицы)
Размер вектора может быть 2000*2000 и содержит всего один элемент [2][2]
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: QTableWidget или QAbstractTableModel &QTableView
«
Ответ #91 :
Декабрь 03, 2009, 22:10 »
Цитата: daimon от Декабрь 03, 2009, 21:48
Цитата: Igors от Декабрь 03, 2009, 21:11
Цитата: daimon от Декабрь 03, 2009, 21:07
Тогда список не подойдет как контейнер (как тогда узнать индекс) - лучше вектор (индекс ячейки оператор [])
QList - это тоже массив (не смущайтесь что list это "список") он имеет оператор [] так же как и QVector.
Нет просто для индексации всей таблицы нужен вектор (ячейка может быть только в последней колонке, индекс [])
Например 2 колонка 2 строка - [2][2], а если insert то индекс уже не будет такой (вектор изменяется под размер таблицы)
Размер вектора может быть 2000*2000 и содержит всего один элемент [2][2]
Возможно Вы хотите сказать что будете хранить вектор указателей из 2000*2000 элементов но только один элемент указывает на данные (остальные NULL). По поводу insert: да, когда Вы вставляете новую колонку - индексы изменятся, но ведь это нормально, так и должно быть. Если же Вы имеете ввиду что-то другое - поясните, лучше на примере.
Записан
daimon
Гость
Re: QTableWidget или QAbstractTableModel &QTableView
«
Ответ #92 :
Декабрь 03, 2009, 22:42 »
Цитата: Igors от Декабрь 03, 2009, 22:10
Цитата: daimon от Декабрь 03, 2009, 21:48
Цитата: Igors от Декабрь 03, 2009, 21:11
Цитата: daimon от Декабрь 03, 2009, 21:07
Тогда список не подойдет как контейнер (как тогда узнать индекс) - лучше вектор (индекс ячейки оператор [])
QList - это тоже массив (не смущайтесь что list это "список") он имеет оператор [] так же как и QVector.
Нет просто для индексации всей таблицы нужен вектор (ячейка может быть только в последней колонке, индекс [])
Например 2 колонка 2 строка - [2][2], а если insert то индекс уже не будет такой (вектор изменяется под размер таблицы)
Размер вектора может быть 2000*2000 и содержит всего один элемент [2][2]
Возможно Вы хотите сказать что будете хранить вектор указателей из 2000*2000 элементов но только один элемент указывает на данные (остальные NULL). По поводу insert: да, когда Вы вставляете новую колонку - индексы изменятся, но ведь это нормально, так и должно быть. Если же Вы имеете ввиду что-то другое - поясните, лучше на примере.
QList не подходит, лучше QVector. Как делать resize для вектора QVector<QVector<QVariant*>>, чтобы не делать ресайз каждой строки вектора в цикле?
Записан
Kolobok
Гость
Re: QTableWidget или QAbstractTableModel &QTableView
«
Ответ #93 :
Декабрь 04, 2009, 02:08 »
Сколько всего реальных данных предполагается хранить в таблице?
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: QTableWidget или QAbstractTableModel &QTableView
«
Ответ #94 :
Декабрь 04, 2009, 14:41 »
Цитата: daimon от Декабрь 03, 2009, 22:42
QList не подходит, лучше QVector. Как делать resize для вектора QVector<QVector<QVariant*>>, чтобы не делать ресайз каждой строки вектора в цикле?
Если надо вставить колонку (не строку) - то ресайз в цикле делать придется, какой бы контейнер Вы ни взяли (любой из Qt, любой из STL). Непонятно чем Вам не угодил удобный QList и какую задачу Вы решаете
Записан
MoPDoBoPoT
Гость
Re: QTableWidget или QAbstractTableModel &QTableView
«
Ответ #95 :
Декабрь 04, 2009, 16:30 »
Только если не считать, что мы храним вектор со столбцами, но тогда добавить строку - борода
Записан
daimon
Гость
Re: QTableWidget или QAbstractTableModel &QTableView
«
Ответ #96 :
Декабрь 04, 2009, 21:47 »
Цитата: MoPDoBoPoT от Декабрь 04, 2009, 16:30
Только если не считать, что мы храним вектор со столбцами, но тогда добавить строку - борода
Если использовать SQL не будет проблема с памятью для очень больших таблиц?
Записан
daimon
Гость
Re: QTableWidget или QAbstractTableModel &QTableView
«
Ответ #97 :
Декабрь 04, 2009, 22:06 »
Как организовать свой контейнер, чтобы таблица позволяла использовать роли (Qt::Disp....Qt::Edit)?
Записан
Страниц:
1
...
5
6
[
7
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...