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

it2022-05-05  164

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

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用以实现数据库的连接


最新回复(0)