代码:
//QTableWidget控件的使用
//1:设置列数
ui->tableWidget->setColumnCount(3);
//2:设置水平表头标签
ui->tableWidget->setHorizontalHeaderLabels(QStringList()<<"姓名"<<"性别"<<"年龄");
//3:设置行数
ui->tableWidget->setRowCount(5);
//4:设置内容
ui->tableWidget->setItem(0,0,new QTableWidgetItem("亚瑟"));
QStringList nameList;
nameList<<"亚瑟"<<"妲己"<<"韩信"<<"赵云"<<"孙悟空";
QList<QString> sexList;
sexList<<"男"<<"女"<<"男"<<"男"<<"男";
for(int i=0;i<5;i++){
int col=0;
ui->tableWidget->setItem(i,col++,new QTableWidgetItem(nameList[i]));
ui->tableWidget->setItem(i,col++,new QTableWidgetItem(sexList.at(i)));
ui->tableWidget->setItem(i,col++,new QTableWidgetItem(QString::number(18+i)));
}
扩展功能,增加按钮实现增加和删除功能:
//点击添加鲁班,实现添加
connect(ui->addBtn,&QPushButton::clicked,[=](){
//如果存在,就不添加
bool isEmpty = ui->tableWidget->findItems("鲁班",Qt::MatchExactly).isEmpty();
if(!isEmpty){
QMessageBox::warning(this,"警告","人物已经存在,添加失败");
}else{
ui->tableWidget->insertRow(0);
ui->tableWidget->setItem(0,0,new QTableWidgetItem(QString("鲁班")));
ui->tableWidget->setItem(0,1,new QTableWidgetItem(QString("男")));
ui->tableWidget->setItem(0,2,new QTableWidgetItem(QString::number(30)));
}
});
//点击删除鲁班,实现删除
connect(ui->delBtn,&QPushButton::clicked,[=](){
bool isEmpty = ui->tableWidget->findItems("鲁班",Qt::MatchExactly).isEmpty();
if(isEmpty){
QMessageBox::warning(this,"警告","人物不存在,删除失败");
}else{
int rowNum = ui->tableWidget->findItems("鲁班",Qt::MatchExactly).first()->row();
ui->tableWidget->removeRow(rowNum);
}
});
完整代码:
#include "widget.h"
#include "ui_widget.h"
#include "QMessageBox"
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
this->resize(600,400);
//QTableWidget控件的使用
//1:设置列数
ui->tableWidget->setColumnCount(3);
//2:设置水平表头标签
ui->tableWidget->setHorizontalHeaderLabels(QStringList()<<"姓名"<<"性别"<<"年龄");
//3:设置行数
ui->tableWidget->setRowCount(5);
//4:设置内容
ui->tableWidget->setItem(0,0,new QTableWidgetItem("亚瑟"));
QStringList nameList;
nameList<<"亚瑟"<<"妲己"<<"韩信"<<"赵云"<<"孙悟空";
QList<QString> sexList;
sexList<<"男"<<"女"<<"男"<<"男"<<"男";
for(int i=0;i<5;i++){
int col=0;
ui->tableWidget->setItem(i,col++,new QTableWidgetItem(nameList[i]));
ui->tableWidget->setItem(i,col++,new QTableWidgetItem(sexList.at(i)));
ui->tableWidget->setItem(i,col++,new QTableWidgetItem(QString::number(18+i)));
}
//点击添加鲁班,实现添加
connect(ui->addBtn,&QPushButton::clicked,[=](){
//如果存在,就不添加
bool isEmpty = ui->tableWidget->findItems("鲁班",Qt::MatchExactly).isEmpty();
if(!isEmpty){
QMessageBox::warning(this,"警告","人物已经存在,添加失败");
}else{
ui->tableWidget->insertRow(0);
ui->tableWidget->setItem(0,0,new QTableWidgetItem(QString("鲁班")));
ui->tableWidget->setItem(0,1,new QTableWidgetItem(QString("男")));
ui->tableWidget->setItem(0,2,new QTableWidgetItem(QString::number(30)));
}
});
//点击删除鲁班,实现删除
connect(ui->delBtn,&QPushButton::clicked,[=](){
bool isEmpty = ui->tableWidget->findItems("鲁班",Qt::MatchExactly).isEmpty();
if(isEmpty){
QMessageBox::warning(this,"警告","人物不存在,删除失败");
}else{
int rowNum = ui->tableWidget->findItems("鲁班",Qt::MatchExactly).first()->row();
ui->tableWidget->removeRow(rowNum);
}
});
}
Widget::~Widget()
{
delete ui;
}
展示: