[Qt-interest] model->insertColumns() is inserting row instead
Neel Basu
neel.basu.z at gmail.com
Thu Dec 18 15:58:14 CET 2008
I am just playing with Qt and for that I made a MarkSheetModel that inherits
from QAbstractTableModel. and I am using a Standerd QTableView for
representation purpouse.
This is My MarkSheetTableModel Header.
class MarkSheetTableModel : public QAbstractTableModel{
public:
MarkSheetTableModel(QObject* parent=0);
~MarkSheetTableModel();
private:
QList<QString> subjects;//Headers Come from Here
QHash<QString, QList<double>* > students;//each student and
their corresponding marks make a row
public:
QList<double>& addStudent(const QString& stdName);
QList<double>& student(const QString& stdName);
public:
int rowCount(const QModelIndex& parent) const;
int columnCount(const QModelIndex& parent) const;
QVariant data(const QModelIndex& index, int role) const;
QVariant headerData(int section, Qt::Orientation orientation,
int role) const;
};
everythings goes fine.
Now I want two Extra Column Total and Avarage, as these two does not hold a
concreate data I don't want these two to come from the Model (These two should
be
representation oriented columns).so I searched a lot to insert a Column on
View (at
least a psudo Column) But I didn't get one.
What I got is insertColumn() method on Model (although Idont think it
shouldbe added to column but I've no other way I think) .
Here goes my MainWindow's Constructor's code.
MainWindow::MainWindow(QWidget *parent, Qt::WFlags flags): QMainWindow(parent,
flags), vHeadersBrush(QColor(0, 0, 255, 127)), hHeadersBrush(QColor(0, 255,
0, 127)), mAutoRecalculateStatus(true){
ui.setupUi(this);
markSheetTableModel = new MarkSheetTableModel;
markSheetTableModel->addStudent("Ram") << 50 << 85 << 86.50 << 75.25;
markSheetTableModel->addStudent("Shyam") << 55 << 80 << 86 << 85;
markSheetTableModel->insertColumns(0, 1);//Inserting one Column I've
triedinsertColumns() which gave the same result too
markSheetTableModel->addStudent("Total");//Setting Header for that
Column.
ui.markSheetTableView->setModel(markSheetTableModel);
}
But this above code inserts a Row called Total instead
I am kinda stuck at this point somebody please Help me out.
More information about the Qt-interest-old
mailing list