Название: QTreeView и иконки Отправлено: Admin от Сентябрь 27, 2005, 14:22 Создал модель на основе QAbstractItemModel
Подсоеденил ее к QTreeView - все отображается путем. Хочу теперь что бы напротив каждого item стояла иконка, примерно как в QDirModel, но не нашел как. Сорцы QDirModel не внушают уверености, так и не нашел как это они сделали. Название: QTreeView и иконки Отправлено: nEoN от Сентябрь 27, 2005, 17:04 Нужно у модели переопределить метод data() :
Код: QVariant MyTableModel::data(const QModelIndex & index, int role) const Название: QTreeView и иконки Отправлено: Admin от Сентябрь 27, 2005, 20:53 ага спасибо
я помаленьку сам догадался эти модели меня с ума сводят Название: QTreeView и иконки Отправлено: Admin от Сентябрь 27, 2005, 21:26 теперь другой вопрос нарисовался
есть модель иерархическая прекрасно отображается в QTreeView в вот как ее отобразить в QListView никак не пойму при setModel отображается только верхний элемент и все Название: QTreeView и иконки Отправлено: Admin от Сентябрь 29, 2005, 14:52 оказалось что для QListView можно рулить через setRootIndex
Код: int main(int argc, char *argv[]) Название: QTreeView и иконки Отправлено: Racheengel от Сентябрь 30, 2005, 10:56 Пытался я с ентой фигней раздуплиться... ИМХО очень все усложнено, трудно с прыжка вникнуть...
Название: QTreeView и иконки Отправлено: nEoN от Сентябрь 30, 2005, 11:46 Согласен. Простота принесена в жертву универсальности.
Название: QTreeView и иконки Отправлено: Racheengel от Сентябрь 30, 2005, 15:52 проще=быстрей... а такая универсальность больно уж ИМХО тормозюкать будет...
Название: Re: QTreeView и иконки Отправлено: bezzil от Сентябрь 29, 2008, 10:05 обьясните пожалуйста более подробно как вставить иконки,
может у кого нибудь есть пример как это сделать. и такой ещё вопрос, каким образом включить Qt::DecorationRole Название: Re: QTreeView и иконки Отправлено: Пантер от Сентябрь 29, 2008, 10:12 Используй QStandardItemModel, там есть:
QStandardItem ( const QIcon & icon, const QString & text )? Название: Re: QTreeView и иконки Отправлено: bezzil от Сентябрь 29, 2008, 10:32 извиняюсь не там смотрел в конец уже запутался :( На сколько я понял что бы иконки вставить в дерево, нада создать свою модель, переопределить метод дата, и каким то образом выставить Qt::DecorationRole. Помогите пожалуйста может у кого нибудь есть понятный код для примера , а то в голове уже каша :( Название: Re: QTreeView и иконки Отправлено: spirit от Сентябрь 29, 2008, 10:38 можно встроенные виджеты юзать, такие как QTableWidget, QTreeWidget & QListWidget, если задача не предусматривает какой-то навороченной модели.
Название: Re: QTreeView и иконки Отправлено: bezzil от Сентябрь 29, 2008, 10:44 можно встроенные виджеты юзать, такие как QTableWidget, QTreeWidget & QListWidget, если задача не предусматривает какой-то навороченной модели. пока что не предусматривает, для начала нада просто дерево с иконками, запутлася потом что поиск со словами "QTreeView и иконки" как на этом форуме так и на англиских приводил меня к обусуждениям об исползовании своих моделей. Спасиба пантеру, начинает прояснятся, что искал видимо не совсем то =) Название: Re: QTreeView и иконки Отправлено: spirit от Сентябрь 29, 2008, 10:53 у каждого из виджетов есть классы-айтемы, которые непосредственно помагают сохранять/извлекать данные из модели. классы:
QTableWidgetItem, QTreeWidgetItem & QListWidgetItem. Название: Re: QTreeView и иконки Отправлено: bezzil от Сентябрь 29, 2008, 11:23 Код: QDir dir; вот такой код получился, но что то не так, потому что дерево получается пустым :) Название: Re: QTreeView и иконки Отправлено: spirit от Сентябрь 29, 2008, 11:35 ну во-первых, модель нужно создавать через оператор new.
во-вторых, уже есть готовая QDirModel. Название: Re: QTreeView и иконки Отправлено: bezzil от Сентябрь 29, 2008, 11:53 про дир модел знаю.
Я список файлов создаю для примера, хочу научится иконку вставлять. Название: Re: QTreeView и иконки Отправлено: spirit от Сентябрь 29, 2008, 12:04 пример взят из асистанта и немного модифицирован
Код: ... Название: Re: QTreeView и иконки Отправлено: bezzil от Сентябрь 29, 2008, 12:32 иконки всё равно нету (
Название: Re: QTreeView и иконки Отправлено: spirit от Сентябрь 29, 2008, 12:34 выложи пример компилябильный.
Название: Re: QTreeView и иконки Отправлено: bezzil от Сентябрь 29, 2008, 12:43 Код: Monitor::Monitor(QWidget *parent, Qt::WFlags flags) вот класс полностью, достаточно в мейне Код: Monitor w; Название: Re: QTreeView и иконки Отправлено: spirit от Сентябрь 29, 2008, 12:47 путь неверный
Код: QIcon icon("C:\Install\icon.png"); Код: QIcon icon("C:\\Install\\icon.png"); Код: QIcon icon("C:/Install/icon.png"); Название: Re: QTreeView и иконки Отправлено: bezzil от Сентябрь 29, 2008, 12:50 спирит я тебя расцеловать готов. Спасиба громадное.
Название: Re: QTreeView и иконки Отправлено: EhTemka от Сентябрь 30, 2008, 10:54 Вообще у моделей, наследованых от QAbstractItemModel, есть функция
setData(const QModelIndex & index, const QVariant & value, int role = Qt::EditRole). ТАк что иконки можно задавать с её помощью : Код: model->setData(model->index(i,j,parent), QIcon("C:/Install/icon.png"), Qt::DecorationRole) А делегат уже сам разбереться, что ему рисовать... |