Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "sliderdelegate.h"
- #include <QApplication>
- #include <QStyleOptionProgressBar>
- #include <QGraphicsView>
- #include <QSplitter>
- #include <QGraphicsScene>
- #include <QOpenGLWidget>
- SliderDelegate::SliderDelegate(QObject *parent) : QStyledItemDelegate (parent)
- {
- }
- QWidget *SliderDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const
- {
- QGraphicsView* view1 = new QGraphicsView(parent);
- view1->setBackgroundBrush(QBrush(Qt::green, Qt::SolidPattern));
- QGraphicsView* view2 = new QGraphicsView(parent);
- view2->setBackgroundBrush(QBrush(Qt::green, Qt::SolidPattern));
- QSplitter* splitter = new QSplitter(Qt::Horizontal);
- splitter->addWidget(view1);
- splitter->addWidget(view2);
- return splitter;
- }
- void SliderDelegate::setEditorData(QWidget *editor, const QModelIndex &index) const
- {
- QSplitter* splitter = static_cast<QSplitter*>(editor);
- int value = index.data().toInt();
- QList<int> list;
- list.append(100-(100-value));
- list.append(100-value);
- splitter->setSizes(list);
- }
- void SliderDelegate::setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const
- {
- QSplitter* splitter = static_cast<QSplitter*>(editor);
- QList<int> list = splitter->sizes();
- int value = list[0];
- model->setData(index, value);
- }
- void SliderDelegate::updateEditorGeometry(QWidget *editor, const QStyleOptionViewItem &option, const QModelIndex &index) const
- {
- editor->setGeometry(option.rect);
- }
- void SliderDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const
- {
- QStyledItemDelegate::paint(painter, option, index);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement