您的位置:首页 > 编程语言 > Qt开发

QTableWidget 的 使用

2011-03-10 12:21 369 查看
1、 Init

void CPCWindow::InitPathTable()
{
int i, j;
table_col = 5;
table_row = 7;
col_srcPath = 0;
col_filename = 1;
col_start = 2;
col_end = 3;
col_tarPath = 4;
ui->tableWidget_Clip->setColumnCount(table_col);
ui->tableWidget_Clip->setRowCount(table_row);
ui->tableWidget_Clip->setHorizontalHeaderLabels(QList<QString>() << tr("Src Path") << tr("Filename") << tr("Start") << tr("End")
<< tr("Tar Path"));
ui->tableWidget_Clip->setColumnWidth(col_srcPath, 200);
ui->tableWidget_Clip->setColumnWidth(col_filename, 250);
ui->tableWidget_Clip->setColumnWidth(col_start, 100);
ui->tableWidget_Clip->setColumnWidth(col_end, 100);
ui->tableWidget_Clip->setColumnWidth(col_tarPath, 200);
ui->tableWidget_Clip->horizontalHeader()->setResizeMode(col_srcPath, QHeaderView::Stretch);
ui->tableWidget_Clip->horizontalHeader()->setResizeMode(col_filename, QHeaderView::Fixed);
ui->tableWidget_Clip->horizontalHeader()->setResizeMode(col_start, QHeaderView::Fixed);
ui->tableWidget_Clip->horizontalHeader()->setResizeMode(col_end, QHeaderView::Fixed);
ui->tableWidget_Clip->horizontalHeader()->setResizeMode(col_tarPath, QHeaderView::Stretch);
for(i = 0; i < table_row; i ++)
{
for(j = 0; j < table_col; j ++)
{
ui->tableWidget_Clip->setItem(i, j, new QTableWidgetItem(""));
ui->tableWidget_Clip->item(i, j)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
ui->tableWidget_Clip->item(i, j)->setFlags((ui->tableWidget_Clip->item(i, j)->flags()) & (~Qt::ItemIsEditable));
}
}
}


2、 two paths to add row

setRowCount();

ui->tableWidget_Clip->setRowCount(num_data);
for(i = num_row; i < num_data; i ++)
{
for(j = 0; j < num_col; j ++)
{
ui->tableWidget_Clip->setItem(i, j, new QTableWidgetItem(""));
ui->tableWidget_Clip->item(i, j)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
ui->tableWidget_Clip->item(i, j)->setFlags((ui->tableWidget_Clip->item(i, j)->flags()) & (~Qt::ItemIsEditable));
}
}


insertRow()

for(i = num_row; i < num_data; i ++)
{
ui->tableWidget_Clip->insertRow(i);
for(j = 0; j < num_col; j ++)
{
ui->tableWidget_Clip->setItem(i, j, new QTableWidgetItem(""));
ui->tableWidget_Clip->item(i, j)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
ui->tableWidget_Clip->item(i, j)->setFlags((ui->tableWidget_Clip->item(i, j)->flags()) & (~Qt::ItemIsEditable));
}
}


3、 delete row

romoveRow();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: