Название: Как удалить колонки через QSortFilterProxyModel? Отправлено: SpaceRabbit от Январь 31, 2013, 13:27 Скажите, пожалуйста, как правильно удалять колонки из модели.
Я наследую QAbstractTableModel, заполняю его тремя QMap, создаю таблицу из 6 колонок, вида: key_map1 | value_map1 | key_map2 | value_map2 | key_map3 | value_map3 На форме три таблицы QTableView, в первый QTableView мне нужны колонки key_map1 | value_map1, во второй key_map2 | value_map2 и в третий key_map3 | value_map3 соответственно, т.е. модель имеет доступ ко всем таблицами, а каждое из представлений отображает только один QMap Как я понимаю делается это через QSortFilterProxyModel, но у меня не получается. Так выглядит модель: Код: class BushelFrequencyModel : public QAbstractTableModel Видимо самое простое решение это удалить ненужные колонки: Код: QMap<int, double> listDF; Но колонки не удаляются, нужно ли перегружать removeColumns в созданной модели или нет? Заранее благодарен. Название: Re: Как удалить колонки через QSortFilterProxyModel? Отправлено: kambala от Январь 31, 2013, 14:03 тебе нужно переопределить метод virtual bool QSortFilterProxyModel::filterAcceptsColumn ( int source_column, const QModelIndex & source_parent ) const и возвращать тру для нужных колонок
Название: Re: Как удалить колонки через QSortFilterProxyModel? Отправлено: UNION labs от Январь 31, 2013, 15:13 Можно просто скрывать столбцы непосредственно в представлении
Код: void QTableView::hideColumn ( int column ) [slot] Название: Re: Как удалить колонки через QSortFilterProxyModel? Отправлено: SpaceRabbit от Январь 31, 2013, 15:21 Спасибо, сделал через filterAcceptsColumn, правильно ли я делаю: для каждого представления промежуточная модель (proxy) скрывающая нужные колонки? И заодно вопрос по QAbstractTableModel, как сделать, чтобы колонки автоматичесски растягивались?
(http://s005.radikal.ru/i211/1301/7e/c1909cedc94e.png) слева я растянул вручную, справа не растянуто Название: Re: Как удалить колонки через QSortFilterProxyModel? Отправлено: Bepec от Январь 31, 2013, 15:29 HorizontalHeaderStrechLastSection по второму вопросу
Название: Re: Как удалить колонки через QSortFilterProxyModel? Отправлено: SpaceRabbit от Январь 31, 2013, 16:01 HorizontalHeaderStrechLastSection по второму вопросу Спасибо =) |