31 Mayıs 2018 Perşembe

QAbstractTableModel Sınıfı

Giriş
Şu satırı dahil ederiz.
#include <QAbstractTableModel>
columnCount metodu
Şöyle yaparız.
int columnCount(const QModelIndex &parent = QModelIndex()) const override {
  return 3;
}
data metodu
Şöyle yaparız.
QVariant data(const QModelIndex &index,int role = Qt::DisplayRole) const override {
  if (role == Qt::DisplayRole) {
    return QString("Row%1, Column%2").arg(index.row() + 1).arg(index.column() + 1);
  }
  return QVariant();
}
headerData metodu
Şöyle yaparız.
QVariant headerData(int section, Qt::Orientation orientation,int role) const override {
  if (role == Qt::DisplayRole) {
    if (orientation == Qt::Horizontal) {
      switch (section) {
        case 0:
          return QString("first");
        case 1:
          return QString("second");
        case 2:
          return QString("third");
      }
    }
  }
  return QVariant();
}
rowCount metodu
Şöyle yaparız.
int rowCount(const QModelIndex &parent = QModelIndex()) const override {
  return 100;
}
Diğer
Elimizde şöyle bir kod olsun.
class MyModel : public QAbstractTableModel {
...
}
QTableView ile kullanmak için şöyle yaparız.
auto tableView = new QTableView ();

MyModel myModel = ...
tableView->setModel(&myModel);

Hiç yorum yok:

Yorum Gönder