Russian Qt Forum
Ноябрь 25, 2024, 00:01 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Создание копии объекта QObject  (Прочитано 6140 раз)
uriel
Гость
« : Ноябрь 21, 2007, 19:56 »

Появилась необходимость хранить копию объекта типа, унасленованного от QObject. Проблема в том, что для него конструктор копии закрытый.
Собственно вопрос, как это можно осуществить и есть ли для этого какие-либо стандартные средства Qt?
Записан
SerjVarshavskiy
Гость
« Ответ #1 : Ноябрь 21, 2007, 22:11 »

может его в QDataStream/QBuffer, а потом оттуда...?
Записан
uriel
Гость
« Ответ #2 : Ноябрь 21, 2007, 22:41 »

А как мне в таком случае преобразовать его к QByteArray? Подмигивающий
Записан
ритт
Гость
« Ответ #3 : Ноябрь 21, 2007, 22:47 »

хранить копию где? зачем через стрим/байтаррэй? во внешнем хранилище, что ли?
конкретизируй задачу
Записан
uriel
Гость
« Ответ #4 : Ноябрь 21, 2007, 22:53 »

Грубо говоря, нужно иметь две копии одного и того же объекта, что-то вроде бэкапа. Одну изменять, как потребуется, а вторую использовать для хранения начального стостояния этого объекта.
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #5 : Ноябрь 21, 2007, 22:59 »

Появилась необходимость хранить копию объекта типа, унасленованного от QObject. Проблема в том, что для него конструктор копии закрытый.
Собственно вопрос, как это можно осуществить и есть ли для этого какие-либо стандартные средства Qt?

Стандартныйх методов для создания deep копии объекта порожденного от QObject в Qt нет и не будет
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #6 : Ноябрь 21, 2007, 23:02 »

Грубо говоря, нужно иметь две копии одного и того же объекта, что-то вроде бэкапа. Одну изменять, как потребуется, а вторую использовать для хранения начального стостояния этого объекта.

Собирите все данные в какую-нибуть структуру (класс например) и делайте бэкап этих данных. Я не думаю что вам понадобяться состояние всего объекта QObject. Или я ошибаюсь?
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
uriel
Гость
« Ответ #7 : Ноябрь 22, 2007, 08:41 »

Ну в целом, возможно, Вы и правы. Просто вопрос был в том, можно ли осуществить такое, ну а если нет - то придётся переписать код, чтобы создание копии не требовалось.
Всем спасибо за помощь.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.046 секунд. Запросов: 23.