| 
 Название: QAbstractItemModel не отображает иконку в таблице
 Отправлено: helga1917 от Августа 05, 2013,  14:02
 
 Переделываю пример из Examples and Demos: Item Views: Basic Sort/Filter Model , но в первую колонку хочу вставить иконки. Компилируется, но отображается только время и текст, поле с иконкой пустое. alarmer.h: #ifndef ALARMER_H#define ALARMER_H
 
 #include <QWidget>
 class QAbstractItemModel;
 class QPixmap;
 class QTreeView;
 
 class Window: public QWidget
 {
 Q_OBJECT
 public:
 Window();
 void setSourceModel (QAbstractItemModel *model);
 private:
 QTreeView *sourceView;
 };
 #endif
alarmer.cpp: #include <QtGui>#include "alarmer.h"
 Window::Window()
 {
 sourceView = new QTreeView;
 sourceView->setAlternatingRowColors(true);
 
 QHBoxLayout *sourceLayout = new QHBoxLayout;
 sourceLayout->addWidget(sourceView);
 setLayout(sourceLayout);
 }
 void Window::setSourceModel (QAbstractItemModel *model)
 {
 sourceView->setModel(model);
 }
 
main.cpp: #include <QtGui>#include "alarmer.h"
 
 void addMail (QAbstractItemModel *model, const QPixmap Pix, const QDateTime &date, const QString &info)
 {
 model->insertRow(0);
 model->setData(model->index(0,0), Pix);
 model->setData(model->index(0,1), date);
 model->setData(model->index(0, 2), info);
 }
 
 QAbstractItemModel *createItemModel (QObject *parent)
 {
 QStandartItemModel *model = new QStandartItemModel (0, 3, parent);
 model->setHeaderData(0, Qt::Horizontal, QObject::tr("Subject"));
 model->setHeaderData(1, Qt::Horizontal, QObject::tr("Sender"));
 model->setHeaderData(2, Qt::Horizontal, QObject::tr("Date"));
 
 addMail (model, QPixmap ("C:/alarmer/1.png"), "Petra Schmidt", QDateTime(QDate(2007, 01, 05),QTime(12, 01)));
 return model;
 }
 int main (int argc, char *argv[])
 {QApplication app(argc, argv);
 Window window;
 window.setSourseModel (createMailModel (&window));
 window.show();
 return app.exec();
 }
 
Как отобразить иконку в поле Subject??? ПринтСкрин получаемого приложения:
 Название: Re: QAbstractItemModel не отображает иконку в таблице
 Отправлено: GreatSnake от Августа 05, 2013,  14:42
 
 Укажи роль Qt::DecorationRole для C++ (Qt)model->setData(model->index(0,0), Pix);
 Название: Re: QAbstractItemModel не отображает иконку в таблице
 Отправлено: helga1917 от Августа 05, 2013,  15:06
 
 !!!Спасибо 
 
 |