Название: Помогите с моделью и QTableView Отправлено: limmenz от Апрель 02, 2009, 19:58 Есть модель, наследованная от QAbstractTableModel, и есть QTableView. Проблема в том, что вьюха не отображает абсолютно ничего (даже заголовки), если создать экземпляр модели и сделать setModel вьюхе в файле mainwindow.cpp в конструкторе. Но если сделать то же самое в файле main.cpp, то всё работает.
Вот пример того, как делаю в mainwindow.cpp: Код: Worksmodel worksmodel(&worklist); А вот так в main.cpp: Код: MainWindow w; Как сделать так, чтобы работало в mainwindow.cpp? Название: Re: Помогите с моделью и QTableView Отправлено: Alex Custov от Апрель 02, 2009, 20:22 в первом варианте модель удаляется сразу же после отработки конструктора твоего mainwindow (или что там). Во втором приложение висит в QApplication::exec() и модель существует до тех пор пока main() выполняется и поэтому всё работает.
В первом случае надо объект "worksmodel" вынести в атрибуты класса, или создавать динамически через new (тогда и worklist тоже желательно создавать динамически). Название: Re: Помогите с моделью и QTableView Отправлено: limmenz от Апрель 03, 2009, 13:06 Спасибо за ответ, но почему-то не сработало. Скорее всего я что-то неправильно сделал. Создаю модель так:
Код: Worksmodel worksmodel = new Worksmodel(&worklist); mainwindow.cpp:36: error: conversion from `Worksmodel*' to non-scalar type `Worksmodel' requested Если worksmodel объявлять в mainwindow.h в качестве атрибута класса, то как передавать конструктору модели массив с данными (worksmodel)? Не силён в С++, но разобраться необходимо Название: Re: Помогите с моделью и QTableView Отправлено: pastor от Апрель 03, 2009, 13:10 Цитировать Worksmodel *worksmodel = new Worksmodel(&worklist); ЗЫ: Обрати внимание на "*" Название: Re: Помогите с моделью и QTableView Отправлено: limmenz от Апрель 03, 2009, 13:33 Цитировать Worksmodel *worksmodel = new Worksmodel(&worklist); ЗЫ: Обрати внимание на "*" |