Zellfüllendes Bild in QTableView
Zellfüllendes Bild in QTableView
Hey @all,
weiß jemand oder kann mir ein beispiel geben wie ich ein Zell füllendes bild (40 x 40) mit Delegates in eine Zelle bekomme? Habs schon mit QImage probiert, aber da bleibt auf jeder seite ein weißer rand.
Vielen Dank im Voraus
LG NoRulez
weiß jemand oder kann mir ein beispiel geben wie ich ein Zell füllendes bild (40 x 40) mit Delegates in eine Zelle bekomme? Habs schon mit QImage probiert, aber da bleibt auf jeder seite ein weißer rand.
Vielen Dank im Voraus
LG NoRulez
wie meinen?
Ich habe keinen funktionierenden code, ich habe nur folgendes um das Bild zu setzen:
aber da ich per status ein anderes bild brauche dachte ich, ich sollte es mit einem Delegate lösen. Nur kenne ich mich mit delegates nicht aus bzw. hatte ich noch nie was mit delegates gemacht.
LG NoRulez
Ich habe keinen funktionierenden code, ich habe nur folgendes um das Bild zu setzen:
Code: Alles auswählen
_pTableView->model()->setData(_pTableView->model()->index(row, 0), QImage(":/images/background.png"), Qt::DecorationRole);
LG NoRulez
ok, ich denke wie folgt sollte es passen, funktionieren tut es erstmals. Nur wie kann ich im Delegate automatisch auf werte reagieren? Meine damit das ich bei bestimmten Flags das bild austausche?
LG NoRulez
Code: Alles auswählen
MyDelegate::MyDelegate(QObject *parent) : QItemDelegate(parent) {
}
void MyDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const {
QItemDelegate::paint(painter, option, index);
painter->drawImage(option.rect.x(),option.rect.y(), QImage(":/images/bg1.png"));
/*
painter->drawImage(option.rect.x(),option.rect.y(), QImage(":/images/bg2.png"));
painter->drawImage(option.rect.x(),option.rect.y(), QImage(":/images/bg3.png"));
painter->drawImage(option.rect.x(),option.rect.y(), QImage(":/images/bg4.png"));
*/
}
QSize MyDelegate::sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const {
return QSize(45, 45);
}
Ja sorry,
ich meinte model daten, also bei 1 beispielsweise ein rotes bild und bei 2 grünes, ...
Weiters habe ich noch keinen Weg gefunden die QHeaderViews (horizontal als auch vertical) mit einem Bild zu hinterlegen. Bei mir sehe ich immer nur ein kleines Icon, habe es auch schon mit qss/css probiert
LG NoRulez
ich meinte model daten, also bei 1 beispielsweise ein rotes bild und bei 2 grünes, ...
Weiters habe ich noch keinen Weg gefunden die QHeaderViews (horizontal als auch vertical) mit einem Bild zu hinterlegen. Bei mir sehe ich immer nur ein kleines Icon, habe es auch schon mit qss/css probiert
LG NoRulez
Code: Alles auswählen
switch (index.data().toInt()) {
case 1: ...
case 2: ...
}