QT-纯代码控件-QTableWidget(表格)

实现一个表格控件并向单元格中添加内容的功能

1.新建一个无ui界面的工程,其基类为widget,向工程中添加资源文件,并加入相应的ico或者png图片文件

在这里插入图片描述

2.代码实现

widget.h和main.cpp不做改变。为默认

widget.cpp

#include "widget.h"
#include <QTableWidget>
#include <QIcon>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    //构造一个QTableWidget的对象,并且设置为10行,5列
    QTableWidget * tableWidget = new QTableWidget(10,5,this);
    tableWidget->setWindowTitle("QTableWidget & Item");
    tableWidget->resize(450,350);
    this->resize(450,350);
    //添加表头
    QStringList header;
    header << "编号" << "名字" << "介绍";
    tableWidget->setHorizontalHeaderLabels(header);
    //添加第一列(从0开始计数)
    tableWidget->setItem(0,0,new QTableWidgetItem("第一把枪"));
    tableWidget->setItem(1,0,new QTableWidgetItem("第二把枪"));
    tableWidget->setItem(2,0,new QTableWidgetItem("第三把枪"));
    //添加第二列
    tableWidget->setItem(0,1,new QTableWidgetItem(QIcon(":/imgs/weapen/m4.ico"),"M4"));
    tableWidget->setItem(1,1,new QTableWidgetItem(QIcon(":/imgs/weapen/m16.ico"),"M16"));
    tableWidget->setItem(2,1,new QTableWidgetItem(QIcon(":/imgs/weapen/ak47.ico"),"AK47"));
    //添加第三列
    tableWidget->setItem(0,2,new QTableWidgetItem("m4是把好枪"));
    tableWidget->setItem(1,2,new QTableWidgetItem("m16是把垃圾枪"));
    tableWidget->setItem(2,2,new QTableWidgetItem("ak47压不住"));
    //也可将表格变为禁止编辑模式
    tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);

    tableWidget->show();        //tableWidget控件展示
    this->setWindowTitle("表格控件");


    /*
     *

    //也可以用下面的方法构造QTableWidget对象
    QTableWidget * tableWidget = new QTableWidget;
    tableWidget->setRowCount(10);       //设置行数10行
    tableWidget->setColumnCount(5);     //设置列数5列

    //可以用下面的语句执行删除行和列的功能
    tableWidget->removeRow(row);    //删除行
    tableWidget->removeColumn(col); //删除列
    //也可将表格变为禁止编辑模式
    tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);

    *
    */
}

Widget::~Widget()
{

}

3.效果展示

在这里插入图片描述

4.不足和可改进之处

1.没有添加Qtxlsx包。故不能实现导出为Excel表格

2.后期可以将QTableWdiget改变成QTableview用以实现数据库的连接

发布了43 篇原创文章 · 获赞 7 · 访问量 9050

猜你喜欢

转载自blog.csdn.net/qq_41488943/article/details/96431695
今日推荐