Hallo allerseits,
ich wollte mal fragen, ob es eine Möglichkeit gibt eine QProgressbar in einer Zelle von meinem QTableWidget einzubauen...
Ich habe schon herausgefunden das man QItemDelegate sowas realisieren könnte... aber wie genau das nun funktionieren soll ist mir noch ein Rätsel.
Vielleicht ist hier ja wer so nett und hat einen Anhaltspunkt, wie ich das am besten mache?
lg
Tribari
[solved] QProgressbar in Zelle von QTableWidget einbauen
[solved] QProgressbar in Zelle von QTableWidget einbauen
Zuletzt geändert von tribari am 3. Dezember 2008 09:40, insgesamt 1-mal geändert.
In der Doku steht was von
Sollte damit gehen.
Code: Alles auswählen
void QTableWidget::setCellWidget ( int row, int column, QWidget * widget )
Code: Alles auswählen
class Delegate : public QItemDelegate
{
Q_OBJECT
public:
Delegate(QObject *parent = 0) : QItemDelegate(parent) {};
~Delegate() {};
void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const
{
QStyleOptionProgressBarV2 opt;
opt.direction=option.direction;
opt.fontMetrics=option.fontMetrics;
opt.palette=option.palette;
opt.rect=option.rect;
opt.state=option.state;
opt.minimum=0;
opt.maximum=100;
opt.progress=qMax(opt.minimum, qMin(opt.maximum, index.data().toInt()));
QApplication::style()->drawControl(QStyle::CE_ProgressBar, &opt, painter, 0);
};
};
danke für die vielen Antworten ... also ich möchte die Progressbar ja nur in einer Zelle haben um den Status von Prozessen anzuzeigen... mir reicht da anscheinend die Variante mit setCellWidget aus 
Mal schauen wie komplex das bei mir noch wird, und ob ich am ende dann evtl. doch noch auf das Delegate umsteigen muss...
Aber danke für die Hilfe
Mal schauen wie komplex das bei mir noch wird, und ob ich am ende dann evtl. doch noch auf das Delegate umsteigen muss...
Aber danke für die Hilfe