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 }

浙公网安备 33010602011771号