Qt TableView的简单使用

时间:2022-10-02 19:41:38

软件环境: ubuntu

--------------------------------------------------------------------------------------------------------

最终效果图:

Qt TableView的简单使用

--------------------------------------------------------------------------------------------------------

一、添加表头:

QStandardItemModel  *model = new QStandardItemModel();

model->setColumnCount(2);

model->setHeaderData(0,Qt::Horizontal,QString::fromLocal8Bit("卡号"));

model->setHeaderData(1,Qt::Horizontal,QString::fromLocal8Bit("姓名"));

二、设置表格属性:

ui->tableView->setModel(model);

//表头信息显示居左

ui->tableView->horizontalHeader()->setDefaultAlignment(Qt::AlignLeft);

//设置列宽不可变

ui->tableView->horizontalHeader()->setResizeMode(0,QHeaderView::Fixed);

ui->tableView->horizontalHeader()->setResizeMode(1,QHeaderView::Fixed);

ui->tableView->setColumnWidth(0,101);

ui->tableView->setColumnWidth(1,102);

注:在进行表格设置时必须是“ui->tableView->setModel(model);”在前,属性具体设置在后,

反之则设置不会生效。如上述代码所示。

三、添加行(添加三行一样的信息):

 for(int i = 0; i < 3; i++)

 {

     model->setItem(i,0,new QStandardItem("2009441676"));

        //设置字符颜色

     model->item(i,0)->setForeground(QBrush(QColor(255, 0, 0)));

        //设置字符位置

     model->item(i,0)->setTextAlignment(Qt::AlignCenter);

     model->setItem(i,1,new QStandardItem(QString::fromLocal8Bit("哈哈")));

 }

四、删除行:

//x是指定删除哪一行

model->removeRow(x);

//删除所有行

model->removeRows(0,model->rowCount());