Russian Qt Forum

Qt => Общие вопросы => Тема начата: daimon от Июль 27, 2010, 00:48



Название: Один экземпляр класса
Отправлено: daimon от Июль 27, 2010, 00:48
Есть окно, в нём лист виджет, на лист виджете имена классов. Создание экземпляра по имени я сделал.
Я хочу, чтобы была возможность создавать только один экземпляр класса наследника QMainWindow, как это сделать (любого из списка в лист виджете)? При этом нужно создавать сколько угодно экземпляров класса, но только разных типов (один тип - один экземпляр)


Название: Re: Один экземпляр класса
Отправлено: lit-uriy от Июль 27, 2010, 11:08
Создай хеш (QHash<QString, QWidget*>, где ключ - имя класса, значение - указатель на экземпляр)
Перед созданием экземпляра проверь хеш, нет ли в нём такого ключа, если есть, то пользуй указатель на экземпляр, сохранённый в хэше.
Если создал экзепляр заданного типа, занеси его в хэш


Название: Re: Один экземпляр класса
Отправлено: SABROG от Июль 27, 2010, 12:12
Неплохая статья, может пригодится: http://silmor.de/33