QT QTableWidget 用法总结

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



#include <QtGui/QApplication>

#include <QTableWidget>

#include <QTableWidgetItem>


int main(int argc, char *argv[])

{

    QApplication a(argc, argv);

    QTableWidget *tableWidget = new QTableWidget(10,5); // 构造了一个QTableWidget的对象,并且设置为10行,5列

    //    也可用下面的方法构造QTableWidget对象

    //    QTableWidget *tableWidget = new QTableWidget;

    //    tableWidget->setRowCount(10);     //设置行数为10

    //    tableWidget->setColumnCount(5);   //设置列数为5

    tableWidget->setWindowTitle("QTableWidget & Item");

    tableWidget->resize(350, 200);  //设置表格

    QStringList header;

    header<<"Month"<<"Description";

    tableWidget->setHorizontalHeaderLabels(header);

    tableWidget->setItem(0,0,new QTableWidgetItem("Jan"));

    tableWidget->setItem(1,0,new QTableWidgetItem("Feb"));

    tableWidget->setItem(2,0,new QTableWidgetItem("Mar"));


    tableWidget->setItem(0,1,new QTableWidgetItem(QIcon("images/IED.png"), "Jan's month"));

    tableWidget->setItem(1,1,new QTableWidgetItem(QIcon("images/IED.png"), "Feb's month"));

    tableWidget->setItem(2,1,new QTableWidgetItem(QIcon("images/IED.png"), "Mar's month"));

    tableWidget->show();


    return a.exec();

}






你可能感兴趣的:(QTableWidget)