Advertisement
Guest User

Untitled

a guest
May 7th, 2019
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include "sliderdelegate.h"
  2. #include <QApplication>
  3. #include <QStyleOptionProgressBar>
  4. #include <QGraphicsView>
  5. #include <QSplitter>
  6. #include <QGraphicsScene>
  7. #include <QOpenGLWidget>
  8. SliderDelegate::SliderDelegate(QObject *parent) : QStyledItemDelegate (parent)
  9. {
  10.  
  11. }
  12.  
  13. QWidget *SliderDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const
  14. {
  15.  
  16.     QGraphicsView* view1 = new QGraphicsView(parent);
  17.  
  18.     view1->setBackgroundBrush(QBrush(Qt::green, Qt::SolidPattern));
  19.  
  20.     QGraphicsView* view2 = new QGraphicsView(parent);
  21.     view2->setBackgroundBrush(QBrush(Qt::green, Qt::SolidPattern));
  22.  
  23.  
  24.     QSplitter* splitter = new QSplitter(Qt::Horizontal);
  25.     splitter->addWidget(view1);
  26.     splitter->addWidget(view2);
  27.  
  28.     return splitter;
  29.  
  30. }
  31.  
  32. void SliderDelegate::setEditorData(QWidget *editor, const QModelIndex &index) const
  33. {
  34.     QSplitter* splitter = static_cast<QSplitter*>(editor);
  35.     int value = index.data().toInt();
  36.     QList<int> list;
  37.     list.append(100-(100-value));
  38.     list.append(100-value);
  39.  
  40.     splitter->setSizes(list);
  41.  
  42. }
  43.  
  44. void SliderDelegate::setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const
  45. {
  46.  
  47.     QSplitter* splitter = static_cast<QSplitter*>(editor);
  48.  
  49.     QList<int> list = splitter->sizes();
  50.     int value = list[0];
  51.     model->setData(index, value);
  52.  
  53. }
  54.  
  55. void SliderDelegate::updateEditorGeometry(QWidget *editor, const QStyleOptionViewItem &option, const QModelIndex &index) const
  56. {
  57.     editor->setGeometry(option.rect);
  58. }
  59.  
  60. void SliderDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const
  61. {
  62.  
  63.     QStyledItemDelegate::paint(painter, option, index);
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement