Paste

URL To paste - | raw - Sun Jan 27 2019 16:04:13 GMT+0000 (Coordinated Universal Time)
#include <QApplication>
#include <QStandardItemModel>
#include <QTableView>
#include <memory>

#include "mheaderview.h"

int main(int argc, char *argv[])
{
  QApplication a(argc, argv);

  QStandardItemModel model(4, 4);
  for (int row = 0; row < 4; ++row)
  {
    for (int column = 0; column < 4; ++column)
    {
      QStandardItem *item = new QStandardItem(QString("row %0, column %1").arg(row).arg(column));
      model.setItem(row, column, item);
    }
  }

  auto view = std::make_unique<QTableView>();
  MHeaderView *header = new MHeaderView(Qt::Horizontal, view.get());
  view->setModel(&model);
  view->setHorizontalHeader(header);
  view->resize(800, 600);

  header->setIdealColumnSize(0);
  header->setSectionResizeMode(1, QHeaderView::Fixed);
  header->setSectionResizeMode(2, QHeaderView::Fixed);
  header->setSectionResizeMode(3, QHeaderView::Fixed);
  header->setCascadingSectionResizes(true);

  view->show();

  return a.exec();
}