Название: 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
!!!Спасибо
|