Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Копирование объектов
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Общие вопросы
RazrFalcon
К примеру у меня есть QStandartItemModel и я хочу ее скопировать. Что бы было две одинаковые модели, но не связанные.
Так как при:
QStandartItemModel *model2 = model1;

У меня просто еще один указатель на модель. А мне нужна независимая копия. И не только QStandartItemModel, в вообще.

(в случае с QStandartItemModel можно обойтись двойным циклом на заполнение новой модели старой, но это как то не Ъ имхо)
ruzik
Может скопировать значение?
QStandartItemModel *model2 = new QStandartItemModel;
* model2 = * model1;


Но, если я не ошибаюсь, то если объект имеет указатели, то они тоже скопируются, то есть фокус может не сработать, так как QStandartItemModel скорее всего имеет указатели

Обычно для этих целей используют конструктор копирования, но как ни странно у этого класса такого нет

Есть еще предложение использовать qCopy и копировать, например, по столбцам
Litkevich Yuriy
Цитата(ruzik @ 11.3.2012, 22:46) *
Может скопировать значение?

Цитата(ruzik @ 11.3.2012, 22:46) *
Обычно для этих целей используют конструктор копирования, но как ни странно у этого класса такого нет

тут читаем раздел "Нет конструктора копирования или оператора присваивания"

тут, на форуме, была тема по клонированию QWidget, и вроде был приведён код, который справляется с этой задачей... ищите.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.