#include <QTableView>
#include <QStandardItemModel>
#include <QLinearGradient>
#include <QList>
#include <QStandardItem>
{
public:
{
for (int i = 0; i < 15; ++i)
{
QList<QStandardItem*> row;
for (int j = 0; j < 3; ++j)
{
item->setData(i%10, Qt::EditRole);
row.push_back(item);
}
appendRow(row);
}
}
QVariant data
(const QModelIndex
& index,
int role
) const {
if (role == Qt::BackgroundRole)
{
grad.setColorAt(0, Qt::blue);
grad.
setCoordinateMode(QGradient::ObjectBoundingMode);
grad.setColorAt(static_cast<double>(index.row()%10)/10.0, Qt::blue);
grad.setColorAt(static_cast<double>(index.row()%10)/10.0+0.00001, Qt::white);
grad.setColorAt(1, Qt::white);
}
}
};
extern void showExample()
{
view->setWindowTitle("charttest");
view->setWindowFlags(Qt::Tool);
view->setModel(new ChartModel);
view->show();
}
#include <QTableView>
#include <QStandardItemModel>
#include <QLinearGradient>
#include <QList>
#include <QStandardItem>
class ChartModel : public QStandardItemModel
{
public:
ChartModel():QStandardItemModel()
{
for (int i = 0; i < 15; ++i)
{
QList<QStandardItem*> row;
for (int j = 0; j < 3; ++j)
{
QStandardItem* item = new QStandardItem;
item->setData(i%10, Qt::EditRole);
row.push_back(item);
}
appendRow(row);
}
}
QVariant data(const QModelIndex& index, int role) const
{
if (role == Qt::BackgroundRole)
{
QLinearGradient grad(QPointF(0, 0), QPointF(1, 0));
grad.setColorAt(0, Qt::blue);
grad.setCoordinateMode(QGradient::ObjectBoundingMode);
grad.setColorAt(static_cast<double>(index.row()%10)/10.0, Qt::blue);
grad.setColorAt(static_cast<double>(index.row()%10)/10.0+0.00001, Qt::white);
grad.setColorAt(1, Qt::white);
return QBrush(grad);
}
return QStandardItemModel::data(index, role);
}
};
extern void showExample()
{
QTableView* view = new QTableView;
view->setWindowTitle("charttest");
view->setWindowFlags(Qt::Tool);
view->setModel(new ChartModel);
view->show();
}
To copy to clipboard, switch view to plain text mode
Bookmarks