Qt 学习第十一天:QTableWidget 的使用-完整代码

#include "widget.h"
#include "ui_widget.h"
#include <QTableWidget>
#include <QHeaderView>
#include <QDebug>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    //创建tablewidget
    QTableWidget *table = new QTableWidget(this);
    table->resize(550, 300);
    table->move(100, 100); //移动
    //设置表头
    QStringList headerList; //定义headerList变量
    headerList << "姓名" << "班级" << "学号"; //添加内容
    QFont font; //设置字号
    font.setPointSize(17);
    table->setFont(font);
    table->setColumnCount(headerList.size()); //设置列数=表头列数
    table->setHorizontalHeaderLabels(headerList); //添加headerList到表头
    //ResizeToContents, 列的宽度会根据列标题文字的宽度设置
    table->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents); //需要包含#include <QHeaderView>
    table->setRowCount(3); //设置行数,不设置显示不出文本
    //往表格添加内容
    QStringList nameList, classList, studentIDList;
    nameList << "王五" << "张三" << "李四";
    classList << "计算机科学与技术22(3)班" << "人工智能23(1)班" << "软件工程24(4)班";
    studentIDList << "2130602105" << "2340602143" << "2460602113";
    for(int i=0; i<headerList.size(); i++)
    {
        QTableWidgetItem *nameItem = new QTableWidgetItem(nameList[i]); //创建列表项
        nameItem->setTextAlignment(Qt::AlignCenter);
        table->setItem(i, 0, nameItem);
        table->setRowHeight(i, 10); // 设置行大小

        QTableWidgetItem *classItem = new QTableWidgetItem(classList[i]); //创建列表项
        classItem->setTextAlignment(Qt::AlignCenter);
        table->setItem(i, 1, classItem);

        QTableWidgetItem *studentIDItem = new QTableWidgetItem(studentIDList[i]); //创建列表项
        studentIDItem->setTextAlignment(Qt::AlignCenter);
        table->setItem(i, 2, studentIDItem);
    }
}

Widget::~Widget()
{
    delete ui;
}
上一篇:OpenAI为ChatGPT推出Canvas功能,对标Claude Artifacts!


下一篇:Windows 11:如何轻松安装或卸载 Copilot 应用(多种方法)-在 Windows 11 上安装 Copilot 应用