Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: QVariant
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Общие вопросы
zss
В модели используется тип QVariant.
Мне нужно было помимо QString добавить некие данные.

Создал пользовательский тип
struct ItemData
{
    QString text;
    int offset;
    int size;
    ...
}
Q_DECLARE_METATYPE(ItemData)


Но модель перестала отрисовывать данные.
То есть, как я понял, например, метод toString не возвращает теперь то, что нужно.

Можно ли как это указать для пользовательского типа, чтоб он работал как QVariant, но мог хранить еще и дополнительные пользовательские данные.
ufna
а унаследовать QVariant как класс?
Litkevich Yuriy
Цитата(zss @ 13.4.2010, 14:36) *
метод toString не возвращает теперь то, что нужно.
он просто ничего не возвращает, т.к. QVariant не имеет никакого представления о том, как твою структуру к QString приводить

Цитата(zss @ 13.4.2010, 14:36) *
Мне нужно было помимо QString добавить некие данные.
пользовательские данные добавляются тем же методом что и все остальные:
bool QSqlTableModel::setData ( const QModelIndex & index, const QVariant & value, int role = Qt::EditRole )   [virtual]

только роль выбирается Qt::UserRole
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.