hello,

J'ai créer un QGraphicsView, sur lequel je souhaite appliquer un background dégradé.

Pour cela j'ai utilisé QLinearGradient et la méthode setBackgoundBrush du graphics view.

Cependant le fond de mon graphics view reste désespérément blanc.

Le code en question (je poste tout car je ne sais pas encore trop ce qui est utile ou non) :

Code dvcolorpicker.h : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 
#ifndef DVPCOLORPICKER_H
#define DVPCOLORPICKER_H
 
#include <QWidget>
#include <QtGui/QGraphicsView>
 
namespace Ui {
    class DvpColorPicker;
}
 
class DvpColorPicker : public QWidget
{
    Q_OBJECT
 
public:
    explicit DvpColorPicker(QWidget *parent = 0);
    ~DvpColorPicker();
    QGraphicsView *graphicsView;
 
private:
    Ui::DvpColorPicker *ui;
 
private slots:
};
 
#endif // DVPCOLORPICKER_H

Code dvcolorpicker.cpp : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 
#include "dvpcolorpicker.h"
#include "ui_dvpcolorpicker.h"
 
DvpColorPicker::DvpColorPicker(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::DvpColorPicker)
{
    ui->setupUi(this);
 
    this->graphicsView = new QGraphicsView( this );
    this->graphicsView->setObjectName(QString::fromUtf8("graphicsView"));
    this->graphicsView->setGeometry(QRect(10, 20, 341, 281));
 
        QLinearGradient degrade(0.0,0.0,
                                0.0,
                                200.0 );
        degrade.setColorAt(0, Qt::black);
        degrade.setColorAt(1, Qt::red);
        QBrush pinceau( degrade );
    this->graphicsView->setBackgroundBrush(pinceau);
 
    QMetaObject::connectSlotsByName(this);
 
}
 
DvpColorPicker::~DvpColorPicker()
{
    delete ui;
}


Code ui_dvpcolorpicker.h : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
 
/********************************************************************************
** Form generated from reading UI file 'dvpcolorpicker.ui'
**
** Created: Sat Aug 21 14:51:09 2010
**      by: Qt User Interface Compiler version 4.6.3
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
 
#ifndef UI_DVPCOLORPICKER_H
#define UI_DVPCOLORPICKER_H
 
#include <QtCore/QVariant>
#include <QtGui/QAction>
#include <QtGui/QApplication>
#include <QtGui/QButtonGroup>
#include <QtGui/QHeaderView>
#include <QtGui/QSlider>
#include <QtGui/QWidget>
 
QT_BEGIN_NAMESPACE
 
class Ui_DvpColorPicker
{
public:
    QSlider *verticalSlider;
 
    void setupUi(QWidget *DvpColorPicker)
    {
        if (DvpColorPicker->objectName().isEmpty())
            DvpColorPicker->setObjectName(QString::fromUtf8("DvpColorPicker"));
        DvpColorPicker->resize(507, 378);
        DvpColorPicker->setMinimumSize(QSize(0, 0));
        verticalSlider = new QSlider(DvpColorPicker);
        verticalSlider->setObjectName(QString::fromUtf8("verticalSlider"));
        verticalSlider->setGeometry(QRect(360, 10, 21, 281));
        verticalSlider->setOrientation(Qt::Vertical);
 
        retranslateUi(DvpColorPicker);
 
        //QMetaObject::connectSlotsByName(DvpColorPicker);
    } // setupUi
 
    void retranslateUi(QWidget *DvpColorPicker)
    {
        DvpColorPicker->setWindowTitle(QApplication::translate("DvpColorPicker", "DvpColorPicker", 0, QApplication::UnicodeUTF8));
    } // retranslateUi
 
};
 
namespace Ui {
    class DvpColorPicker: public Ui_DvpColorPicker {};
} // namespace Ui
 
QT_END_NAMESPACE
 
#endif // UI_DVPCOLORPICKER_H

J'ai dû louper un truc assez gros, mais je sèche sévèrement, auriez vous une idée, s'il-vous-plait ?

Merci.