Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Qt и кроссплатформенное программирование С/С++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.02.2011, 18:10   #1
iukash
учу английский...
Форумчанин
 
Аватар для iukash
 
Регистрация: 04.04.2009
Сообщений: 480
По умолчанию QAbstractItemModel -> QString

Я продалжаю раскуривать пример editabletreemodel, теперь я из файла считываю модель, правлю ее и хочу сохранить. Считываю актуальную модель в QAbstractItemModel а как теперь из model вытащить текст?
Цитата:
QAbstractItemModel *model = view->model();
QString str = model; //как?
"Мы можем что-то изменить и своими силами..."
"Начнешь с себя, примером ближнему поможешь..."
iukash вне форума Ответить с цитированием
Старый 18.02.2011, 18:33   #2
Obey-Kun
Линуксоид
Участник клуба
 
Аватар для Obey-Kun
 
Регистрация: 31.07.2009
Сообщений: 1,403
По умолчанию

Надо научить итемы сохранять себя в QString. И модель научить этому же.
Я бы это делал через создание соответствующих QString &QString::operator+= (const T&)
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su
Obey-Kun вне форума Ответить с цитированием
Старый 18.02.2011, 18:48   #3
iukash
учу английский...
Форумчанин
 
Аватар для iukash
 
Регистрация: 04.04.2009
Сообщений: 480
По умолчанию

Цитата:
Надо научить итемы сохранять себя в QString
А как это сделать? Можно немного подробнее?
Цитата:
Я бы это делал через создание соответствующих QString &QString:perator+= (const T&)
Я неразобрался в коде
"Мы можем что-то изменить и своими силами..."
"Начнешь с себя, примером ближнему поможешь..."
iukash вне форума Ответить с цитированием
Старый 18.02.2011, 18:59   #4
Obey-Kun
Линуксоид
Участник клуба
 
Аватар для Obey-Kun
 
Регистрация: 31.07.2009
Сообщений: 1,403
По умолчанию

В каком коде? Я же никакого кода не написал.

Всё просто, создаёшь два оператора:
Код:
QString QString::operator= (const TreeModel* model)
QString &QString::operator+= (const TreeItem* item)
и делаешь там то, что тебе надо.
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su
Obey-Kun вне форума Ответить с цитированием
Старый 18.02.2011, 21:16   #5
iukash
учу английский...
Форумчанин
 
Аватар для iukash
 
Регистрация: 04.04.2009
Сообщений: 480
По умолчанию

Цитата:
Всё просто, создаёшь два оператора:
Код:

QString QString:perator= (const TreeModel* model)
QString &QString:perator+= (const TreeItem* item)

и делаешь там то, что тебе надо.
Я все равно не понял, во первых если я пытаюсь создать эти операторы то компилятор на них ругается, а затем не понятно как с ними работать! Напишите как мне QString str присвоить QAbstractItemModel *model
"Мы можем что-то изменить и своими силами..."
"Начнешь с себя, примером ближнему поможешь..."
iukash вне форума Ответить с цитированием
Старый 19.02.2011, 15:19   #6
bomik
Новичок
Джуниор
 
Регистрация: 19.02.2011
Сообщений: 3
По умолчанию

На сколько я понимаю, вам нужно свой класс унаследовать от QAbstractItemModel, и в середине реализовать операторы "=" или "+=" в зависимости как вы хотите с ним работать
bomik вне форума Ответить с цитированием
Старый 19.02.2011, 17:00   #7
Obey-Kun
Линуксоид
Участник клуба
 
Аватар для Obey-Kun
 
Регистрация: 31.07.2009
Сообщений: 1,403
По умолчанию

Ну или создай там метод, возращающий QString с нужным содержимым.
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su
Obey-Kun вне форума Ответить с цитированием
Старый 19.02.2011, 23:33   #8
alex_x_x
Форумчанин
 
Регистрация: 31.01.2011
Сообщений: 160
По умолчанию

вообще какойто бред, надо через модель получать доступ к ее элементам, а не преобразованиями ее указателя О_о
alex_x_x вне форума Ответить с цитированием
Старый 20.02.2011, 05:00   #9
Obey-Kun
Линуксоид
Участник клуба
 
Аватар для Obey-Kun
 
Регистрация: 31.07.2009
Сообщений: 1,403
По умолчанию

ну просто если бы я делал, то чтобы применять можно было или так:
QString my_string = my_model_ptr
или так
QString my_string = my_model_ptr.toString()
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su
Obey-Kun вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
модель дерева на основе QAbstractItemModel vlarry Qt и кроссплатформенное программирование С/С++ 7 22.01.2011 03:33