crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в QVariant
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
Litkevich Yuriy Дата 13.4.2010, 15:51
 
Цитата(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
ufna Дата 13.4.2010, 12:27
  а унаследовать QVariant как класс?
zss Дата 13.4.2010, 10:36
  В модели используется тип QVariant.
Мне нужно было помимо QString добавить некие данные.

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


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

Можно ли как это указать для пользовательского типа, чтоб он работал как QVariant, но мог хранить еще и дополнительные пользовательские данные.
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 19.4.2024, 2:09