Seite 1 von 1
Widget in einem TreeView Anzeigen mittels delegate
Verfasst: 6. September 2006 10:24
von Cpt Archer
Hallo Ich möchte eine ProgressBar in einem TreeView anzeigen mittels eines Delegates
Ich habe eine Klasse X :public QItemDelegate
dort möchte ich paint und size hint überschreiben.
die Frage ist nun wie ich es schaffe in
virtual void paint ( QPainter * painter, const QStyleOptionViewItem & option, const QModelIndex & index ) const
ein Widget (QProgressBar) zu zeichnen
*edit
scheint irgendwie mittels QStyleOptionProgressBarV2 zu gehen. nur wie

Verfasst: 7. September 2006 12:03
von Cpt Archer
dieses liefert leider nicht das gewünschte Ergebniss
Code: Alles auswählen
namespace GuiProgressView{
ProgressDelegate::ProgressDelegate(QObject *parent)
: QItemDelegate(parent)
{
// mProgress = new QStyleOptionProgressBarV2();
mProgress.minimum =0;
mProgress.maximum =100;
mProgress.progress = 55;
}
void ProgressDelegate::paint ( QPainter * painter,
const QStyleOptionViewItem & option,
const QModelIndex & index ) const
{
if(index.column() == 1)
{
QStylePainter paint(new QProgressBar());
paint.setViewport(painter->viewport());
paint.drawControl(QStyle::CE_ProgressBar, mProgress);
}else{
QItemDelegate::paint(painter, option,index);
}
}
QSize ProgressDelegate::sizeHint ( const QStyleOptionViewItem & option, const QModelIndex & index ) const
{
return QItemDelegate::sizeHint(option,index);
}
} //end namespace
------------------------------------------------------------------
namespace GuiProgressView{
class ProgressDelegate : public QItemDelegate
{
Q_OBJECT
public:
ProgressDelegate(QObject *parent = 0);
/*QWidget *createEditor(QWidget *parent,
const QStyleOptionViewItem &option,
const QModelIndex &index) const;
*/
void paint ( QPainter * painter,
const QStyleOptionViewItem & option,
const QModelIndex & index ) const;
QSize sizeHint ( const QStyleOptionViewItem & option, const QModelIndex & index ) const;
private:
QStyleOptionProgressBarV2 mProgress;
};
}