QTableView 结合QStandardItemModel 使用

mainwindow.h:

 1 class MainWindow : public QMainWindow
 2 {
 3 Q_OBJECT
 4 
 5 public:
 6 MainWindow(QWidget *parent = 0);
 7 ~MainWindow();
 8 
 9 QStandardItemModel model;
10 
11 };

mainwindow.cpp:

 1 #include "mainwindow.h"
 2 #include <QLayout>
 3 #include <QTableView>
 4 #include <QHeaderView>
 5 #include <QDebug>
 6 
 7 
 8 MainWindow::MainWindow(QWidget *parent)
 9     : QMainWindow(parent)
10 
11 {
12     this->setFixedSize(800,600);
13     QWidget *widget=new QWidget(this);
14     this->setCentralWidget(widget);
15     QVBoxLayout *lay=new QVBoxLayout(this);
16 
17     QStringList headitems={"测试1","测试2","测试3","测试4"};
18     QTableView *m_table=new QTableView(this);
19 
20     //自适应所有列,让它布满整个空间
21     m_table->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
22     m_table->horizontalHeader()->setDefaultSectionSize(48);
23     //m_table->setRowHeight(0,30);
24     model.setHorizontalHeaderLabels(headitems);
25 
26     QList<QStandardItem*> list;
27     for (int i = 0; i < 4; ++i) {
28         QStandardItem *item = new QStandardItem("test"+QString("%0").arg(i));
29         list<<item;
30     }
31     model.appendRow(list);
32     m_table->setModel(&model);
33     lay->addWidget(m_table);
34     widget->setLayout(lay);
35 
36 }
37 
38 MainWindow::~MainWindow()
39 {
40 
41 }

 

posted @ 2022-11-30 11:04  微笑的''80  阅读(115)  评论(0)    收藏  举报