Chinaunix首页 | 论坛 | 博客
  • 博客访问: 330104
  • 博文数量: 69
  • 博客积分: 2090
  • 博客等级: 大尉
  • 技术积分: 708
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-23 09:31
文章分类

全部博文(69)

文章存档

2012年(1)

2011年(4)

2010年(48)

2009年(14)

2008年(2)

我的朋友

分类: C/C++

2010-06-30 16:27:26

今天在QT的程序中做了一个表格,使用的是QTableWidge类。

QTableWidget类提供表视图模型。
使用这个类可以创建一张表。只是这个表不是一个普通的表,它的每一项必须是QTableWidgetItem类的一个对象。QTableWidgetItem也是一个窗口部件类,专门用来作为QTableWidget的一个表项。

因此通常的做法是首先创建一张表。然后对表中的每一项都添加一个QTableWidgetItem类对象。然后直接对QTableWidgetItem进行操作

下面将举例来说明QTableWidget和QTableWidgetItem这个两个类的搭配使用:

#include <QApplication>
#include <QtCore>
#include <QtGui>

int main(int argc, char ** argv)
{
    QApplication app( argc, argv );
    QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF8"));
    QDialog *dia = new QDialog; //创建一个对话框

    

    //创建一个QTableWidget表,它有3行3列,父窗口部件是dia
    QTableWidget *table = new QTableWidget(3,3,dia);


    table->resize(400,300); //设置表的大小
    
    for (int i = 0; i < 3; ++i)    
    {
        for (int j = 0; j < 3;++j)
        {
            QTableWidgetItem *item = new QTableWidgetItem("hello");

           //创建一个QTableWidgetItem对象item,它要显示的内容为hello         
             table->setItem(i,j,item);

          //将item加入到table这张表的i行j列的位置处
        }
    }    

    dia->show();
    app.connect( &app, SIGNAL( lastWindowClosed() ), &app, SLOT( quit() ) );
    return app.exec();
}


以上的代码就可以用来创建一个3行3列的表格。表格的每个元素显示为hello

如果你想有一个表,使用自己的数据模型,你应该使用QTableView,而不是这个类。因为这个类有一个约束就表的每一项必须是QTableWidgetItem类的对象。


阅读(10000) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~