Russian Qt Forum

Qt => Базы данных => Тема начата: ecspertiza от Январь 25, 2010, 09:24



Название: Работа с моделями.
Отправлено: ecspertiza от Январь 25, 2010, 09:24
Есть такой вопрос, ну точнее даже интересно почему работает именно так, допустим есть своя модель, и если объявлять ее в заголовочном файле в описании класса то все работает хорошо, а если допустим в конструкторе и тут же эту модель подконнектить к виеву то виев будет пустой. почему так? наверное потому что после завершения конструктора память выделенная под модель освободиться?


Название: Re: Работа с моделями.
Отправлено: alex12 от Январь 25, 2010, 11:24
Сам же и ответил! ;D

Если создавать модель в стеке в конструкторе, то она долго не проживет. Чтобы создать долгоживущую модель в конструкторе, размещать её надо в куче.


Название: Re: Работа с моделями.
Отправлено: ecspertiza от Январь 25, 2010, 11:41
Сам же и ответил! ;D

Я просто не уверен был, спасибо что уточнил мое предположение :)


Название: Re: Работа с моделями.
Отправлено: DS_tm от Январь 25, 2010, 19:43
Вот и поговорили :D А вообще, если модель создовать через new, что в принципе являеться правильным путем, так как она наследник от QObject, то все равно есть член класса, указывающий на нее или нет, работать будет, только память освободить будет сложнее, да и с конвертацией намучаетесь.