Bild in TreeWidget einbinden
Verfasst: 30. Oktober 2008 07:39
Damit meine ich jetzt nicht ein Icon sondern bspw. ein 100x100 Pixel großes Bild in einer Spalte. Geht das irgendwie oder kann man das alternativ umsetzen?
Das deutschsprachige Forum rund um Qt
https://www.qtforum.de/
Code: Alles auswählen
#ifndef TESTDELEGATE2_H
#define TESTDELEGATE2_H
#include <QtGui/QWidget>
#include <QItemDelegate>
#include "ui_testdelegate2.h"
class TestDelegate2: public QWidget {
Q_OBJECT
public:
TestDelegate2(QWidget *parent = 0);
~TestDelegate2();
private:
Ui::TestDelegate2Class ui;
};
class TestDelegate: public QItemDelegate {
public:
TestDelegate(QObject *parent = 0);
void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const;
};
#endif // TESTDELEGATE2_HCode: Alles auswählen
#include "testdelegate2.h"
#include <QPainter>
#include <QAbstractItemModel>
TestDelegate2::TestDelegate2(QWidget *parent) :
QWidget(parent) {
ui.setupUi(this);
QAbstractItemModel *model = ui.treeWidget->model();
TestDelegate delegate;
ui.treeWidget->setItemDelegate(&delegate);
QImage *blah = new QImage("D:\\Eclipse Workspace\\MyMDb\\icons\\info.png");
model->setData(??? , blah);
}
TestDelegate2::~TestDelegate2() {
}
TestDelegate::TestDelegate(QObject *parent) :
QItemDelegate(parent) {
}
void TestDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option,
const QModelIndex &index) const {
painter->drawImage(QRect(0, 0, 50, 50), index.data().value<QImage>(), QRect(0, 0, 50, 50));
}
Code: Alles auswählen
void QTreeWidgetItem::setData ( int column, int role, const QVariant & value )Code: Alles auswählen
TestDelegate2::TestDelegate2(QWidget *parent) :
QWidget(parent) {
ui.setupUi(this);
TestDelegate delegate;
ui.treeWidget->setItemDelegate(&delegate);
QImage *blah = new QImage("D:\\Eclipse Workspace\\MyMDb\\icons\\info.png");
QTreeWidgetItem item;
item.setData(0,0, blah);
item.setData(1,0, "test text");
ui.treeWidget->insertTopLevelItem(0, &item);
}Code: Alles auswählen
painter->drawImage(QRect(0, 0, 50, 50), QImage("D:\\Eclipse Workspace\\MyMDb\\icons\\info.png"), QRect(0, 0, 50, 50));