今天在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类的对象。
阅读(10017) | 评论(0) | 转发(0) |