QTableWidget

QTableWidget

  是QTableView的子类,使用的是标准的数据模型,其单元格数据是通过QTableWidgetItem对象来实现

    //初始化数据
    //添加数据时,一定要设置行数,否则数据不会展示出来
    ui->tableWidget->setRowCount(2);
 
    QTableWidgetItem* name0 = new QTableWidgetItem;
    QTableWidgetItem* name1 = new QTableWidgetItem;
    QTableWidgetItem* age0 = new QTableWidgetItem;
    QTableWidgetItem* age1 = new QTableWidgetItem;
    QTableWidgetItem* code0 = new QTableWidgetItem;
    QTableWidgetItem* code1 = new QTableWidgetItem;
 
    name0->setText("张三");
    name1->setText("李四");
 
    age0->setText("28");
    age1->setText("26");
 
    code0->setText("1000");
    code1->setText("1001");
 
    //为指定的某行或某列设置item
    ui->tableWidget->setItem(0, 0, name0);
    ui->tableWidget->setItem(1, 0, name1);
 
    ui->tableWidget->setItem(0, 1, age0);
    ui->tableWidget->setItem(1, 1, age1);
 
    ui->tableWidget->setItem(0, 2, code0);
    ui->tableWidget->setItem(1, 2, code1);

===========================================================================================================================================================================================================================

QAbstractItemView

QAbstractIemModel

QAbstractTableModel

QModelIndex

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

QTableView是Qt中用来把数据集以表格形式提供给用户的一个控件

QTableView类实现表格视图,QTableView的数据由继承QAbstractItemModel的子类models来提供

#include
  QStandardItemModel *model = new QStandardItemModel();
  ui->tableView->setModel(model);

BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB

QTableWidget和QTableView的区别:

QTableWidget是QTableView的子类。

主要的区别是QTableView可以使用自定义的数据模型来显示内容(也就是先要通过setModel来绑定数据源),而QTableWidget则只能使用标准的数据模型,并且其单元格数据是QTableWidgetItem的对象来实现的(也就是不需要数据源,将逐个单元格内的信息填好即可)。

这主要体现在QTableView类中有setModel成员函数,而到了QTableWidget类中,该成员函数变成了私有。

使用QTableWidget就离不开QTableWidgetItem。QTableWidgetItem用来表示表格中的一个单元格,正个表格都需要用逐个单元格构建起来。

本文简单介绍了Qt表格控件QTableView简单使用方法及QTableView与QTableWidget区别,更多关于Qt表格控件QTableView使用技巧请查看下面的相关链接

CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC

CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC

CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC

QTableWidget是QT程序中常用的显示数据表格的空间,很类似于VC、C#中的DataGrid。说到QTableWidget,就必须讲一下它跟QTabelView的区别了。QTableWidget是QTableView的子类,主要的区别是QTableView可以使用自定义的数据模型来显示内容(也就是先要通过setModel来绑定数据源),而QTableWidget则只能使用标准的数据模型,并且其单元格数据是QTableWidgetItem的对象来实现的(也就是不需要数据源,将逐个单元格内的信息填好即可)。这主要体现在QTableView类中有setModel成员函数,而到了QTableWidget类中,该成员函数变成了私有。使用QTableWidget就离不开QTableWidgetItem。QTableWidgetItem用来表示表格中的一个单元格,正个表格都需要用逐个单元格构建起来。

  1. #include   
  2. #include   
  3. #include   
  4.   
  5. int main(int argc, char *argv[])  
  6. {  
  7.     QApplication a(argc, argv);  
  8.     QTableWidget *tableWidget = new QTableWidget(10,5); // 构造了一个QTableWidget的对象,并且设置为10行,5列  
  9.     //    也可用下面的方法构造QTableWidget对象  
  10.     //    QTableWidget *tableWidget = new QTableWidget;  
  11.     //    tableWidget->setRowCount(10);     //设置行数为10  
  12.     //    tableWidget->setColumnCount(5);   //设置列数为5  
  13.     tableWidget->setWindowTitle("QTableWidget & Item");  
  14.     tableWidget->resize(350, 200);  //设置表格  
  15.     QStringList header;  
  16.     header<<"Month"<<"Description";  
  17.     tableWidget->setHorizontalHeaderLabels(header);  
  18.     tableWidget->setItem(0,0,new QTableWidgetItem("Jan"));  
  19.     tableWidget->setItem(1,0,new QTableWidgetItem("Feb"));  
  20.     tableWidget->setItem(2,0,new QTableWidgetItem("Mar"));  
  21.   
  22.     tableWidget->setItem(0,1,new QTableWidgetItem(QIcon("images/IED.png"), "Jan's month"));  
  23.     tableWidget->setItem(1,1,new QTableWidgetItem(QIcon("images/IED.png"), "Feb's month"));  
  24.     tableWidget->setItem(2,1,new QTableWidgetItem(QIcon("images/IED.png"), "Mar's month"));  
  25.     tableWidget->show();  
  26.   
  27.     return a.exec();  
  28. }  

你可能感兴趣的:(c++)