qt学习:Table widget控件

目录

头文件

实战

重新配置ui界面

添加头文件

在构造函数中添加初始化

显示方法


qt学习:Table widget控件_第1张图片

该实例是在sqlite项目上添加qt学习:QTSQL+连接sqlite数据库+增删改查-CSDN博客

头文件

#include 

实战

重新配置ui界面

qt学习:Table widget控件_第2张图片

用法介绍,可以双击进入到行和列的控制浮窗进行添加行和列,或者通过代码方式

添加头文件

在构造函数中添加初始化

    //初始化表格控件
    //1、设置表头的文本
    QStringList list;
    //将每列的标题写入list
    list<<"ID"<<"姓名"<<"地址"<<"工资"<<"更多";

    //2、设置表格控件的列数
    ui->tableWidget->setColumnCount(5);

    //设置颜色交替
    ui->tableWidget->setAlternatingRowColors(true);

    //设置每列自适应的宽度
    ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);

    //3、设置水平表头
    //ui->tableWidget->columnCount()得到列数
    for(int i=0; itableWidget->columnCount(); i++)
    {
        //实例化一个单元格类的对象
        QTableWidgetItem *item = new QTableWidgetItem;
        item->setText(list.at(i));

        //设置字体
        QFont font = item->font();
        font.setBold(true);//加粗
        font.setPixelSize(32);
        item->setFont(font);

        //将单元格设置为水平表头,第i列,
        //简单来说就是将item单元格设置到第0行的第i列格子上
        ui->tableWidget->setHorizontalHeaderItem(i,item);
    }

显示方法

    //查询语句
    QString sql = QString("select * from staff order by  name desc;");
    //创建一个可以对db执行语句的对象
    QSqlQuery query(db);
    //执行sql语句
    bool ret = query.exec(sql);
    if(ret == false)
    {
        qDebug()<<"select error "<tableWidget->rowCount();//打印出当前表格有多少行
        ui->tableWidget->setRowCount(ui->tableWidget->rowCount() + 1);
        //新建一个单元格指针
        QTableWidgetItem *item;

        //ID单元格
        //配置单元格空间,内容,布局
        item = new QTableWidgetItem;
        item->setText(QString::number(id));
        item->setTextAlignment(Qt::AlignCenter);

        //void QTableWidget::setItem(int row, int column, QTableWidgetItem *item)
        //第一个参数表示 将当前这个单元格 插到 第row行
        //第二个参数表示 将当前这个单元格 插到 第 column列
        ui->tableWidget->setItem(row,0,item);

        //name 单元格
        item = new QTableWidgetItem;
        item->setText(name);
        item->setTextAlignment(Qt::AlignCenter);
        ui->tableWidget->setItem(row,1,item);

        //address 单元格
        item = new QTableWidgetItem;
        item->setText(address);
        item->setTextAlignment(Qt::AlignCenter);
        ui->tableWidget->setItem(row,2,item);

        //salary 单元格
        item = new QTableWidgetItem;
        item->setText(QString::number(salary));
        item->setTextAlignment(Qt::AlignCenter);
        ui->tableWidget->setItem(row,3,item);

        //更多按钮配置
        QPushButton *btn = new QPushButton;
        btn->setText("...");
        ui->tableWidget->setCellWidget(row, 4, btn);

        row++;
    }

你可能感兴趣的:(qt,qt,学习,开发语言)