viewmodelbase.cpp 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. #include "viewmodelbase.h"
  2. #include "ui_viewmodelbase.h"
  3. ViewModelBase::ViewModelBase(QWidget *parent) :
  4. QWidget(parent),
  5. ui(new Ui::ViewModelBase)
  6. {
  7. ui->setupUi(this);
  8. this->resize(800, 600);
  9. /* 初始化表格 */
  10. initViewModel();
  11. addSomeData();
  12. }
  13. ViewModelBase::~ViewModelBase()
  14. {
  15. delete ui;
  16. }
  17. /* 初始化视图模型 */
  18. void ViewModelBase::initViewModel()
  19. {
  20. m_layout = new QVBoxLayout(this);
  21. m_tableView = std::make_shared<QTableView>();
  22. m_model = std::make_shared<QStandardItemModel>();
  23. m_tableView->setModel(m_model.get());
  24. /* 设置布局 */
  25. m_layout->addWidget(m_tableView.get());
  26. this->setLayout(m_layout);
  27. /*********** 设置表格内容 **********/
  28. /* 设置列数和标题 */
  29. m_model->setColumnCount(4);
  30. m_model->setHeaderData(0,Qt::Horizontal, "序号", Qt::DisplayRole);
  31. m_model->setHorizontalHeaderItem(1, new QStandardItem("通道号"));
  32. m_model->setHeaderData(2, Qt::Horizontal, "通道名称", Qt::DisplayRole);
  33. m_model->setHeaderData(3, Qt::Horizontal, "颜色", Qt::DisplayRole);
  34. }
  35. /* 添加一些数据 */
  36. void ViewModelBase::addSomeData()
  37. {
  38. /* 添加数据 */
  39. for (int i = 0; i < 8; i++)
  40. {
  41. m_model->setItem(i, 0, new QStandardItem(QString::number(i + 1)));
  42. m_model->setItem(i, 1, new QStandardItem(QString::number(i + 1)));
  43. m_model->setItem(i, 2, new QStandardItem(QString("通道%1").arg(i)));
  44. m_model->setItem(i, 3, new QStandardItem(QString("颜色%1").arg(i)));
  45. }
  46. }