{
Q_OBJECT
public:
myModel();
QVariant headerData
( int section, Qt
::Orientation orientation,
int role
= Qt
::DisplayRole ) const;
Qt
::ItemFlags flags
( const QModelIndex & index
) const;
protected:
QList<QString> c1;
QList<QString> c2;
};
int myModel
::rowCount ( const QModelIndex & parent
) const {
return c1.count();
}
int myModel
::columnCount ( const QModelIndex & parent
) const {
return 2;
}
{
if ( (role != Qt::DisplayRole) && (role != Qt::EditRole) )
return (index.
column() == 0) ?
QVariant(c1.
at(index.
row())) : QVariant(c2.
at(index.
row()));
}
{
if (index.column() == 0)
c1[index.row()]= value.toString();
else
c2[index.row()]= value.toString();
emit dataChanged( this->index(0,0), this->index(c1.count(),1));
return true;
}
QVariant myModel
::headerData ( int section, Qt
::Orientation orientation,
int role
) const {
}
Qt
::ItemFlags myModel
::flags( const QModelIndex & index
) const{
return Qt::ItemIsSelectable;
}
class myModel : public QAbstractTableModel
{
Q_OBJECT
public:
myModel();
int rowCount ( const QModelIndex & parent = QModelIndex() ) const;
int columnCount ( const QModelIndex & parent = QModelIndex() ) const;
QVariant data ( const QModelIndex & index, int role = Qt::DisplayRole ) const;
bool setData ( const QModelIndex & index, const QVariant & value, int role = Qt::EditRole );
QVariant headerData ( int section, Qt::Orientation orientation, int role = Qt::DisplayRole ) const;
Qt::ItemFlags flags ( const QModelIndex & index ) const;
protected:
QList<QString> c1;
QList<QString> c2;
};
int myModel::rowCount ( const QModelIndex & parent ) const
{
return c1.count();
}
int myModel::columnCount ( const QModelIndex & parent ) const
{
return 2;
}
QVariant myModel::data ( const QModelIndex & index, int role ) const
{
if ( (role != Qt::DisplayRole) && (role != Qt::EditRole) )
return QVariant();
return (index.column() == 0) ? QVariant(c1.at(index.row())) : QVariant(c2.at(index.row()));
}
bool myModel::setData ( const QModelIndex & index, const QVariant & value, int role )
{
if (index.column() == 0)
c1[index.row()]= value.toString();
else
c2[index.row()]= value.toString();
emit dataChanged( this->index(0,0), this->index(c1.count(),1));
return true;
}
QVariant myModel::headerData ( int section, Qt::Orientation orientation, int role ) const
{
return QVariant(QString(""));
}
Qt::ItemFlags myModel::flags( const QModelIndex & index ) const
{
return Qt::ItemIsSelectable;
}
To copy to clipboard, switch view to plain text mode
Bookmarks