Qt, клонирование QObject
От: pproger  
Дата: 27.01.12 11:16
Оценка:
Добрый день. Делаю своеобразный редактор. Создаю иерархию классов. Базовый класс в ней (назовем RBase) наследуется от QWidget. Хочу, чтоб любой визуальный объект в редакторе можно было скопировать (выделили объект — копировать). Для этого в RBase добавил

virtual RBase *clone() const = 0;

чтобы в конкретных классах ее переопределять. каждый новосозданный объект создает некоторые соединения сигнал-слот.

Вопрос. как правильно скопировать QWidget, если конструктор копирования у него закрыт? открывать не предлагать. В итоге нужно создать идентичный объект (с такими же QWidget свойствами, такими же соединениями сигнал-слот).

Сейчас свойства копирую через мета информацию объекта (property(), setProperty()). Как скопировать инфу о соединениях не знаю. Заново вызывать для нового объекта connect не хотелось бы. Все коннекшены создаются в MainWindow, и лезть туда не хочется. Хочется извлечь эту инфу из копируемого объекта.

Заранее спасибо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.