TableWidget
设置列数
设置头 姓名 性别 年龄
设置行数
设置正文 setItem(row,col,QTableWidgetItem)
添加赵云
判断是否为空
为空 添加 insertRow
删除赵云
判断是否为空
先确定赵云所在的row
removeRow
.pro
#-------------------------------------------------
#
# Project created by QtCreator 2019-09-19T01:15:03
#
#-------------------------------------------------
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = 08_TableWidget
TEMPLATE = app
SOURCES += main.cpp\
widget.cpp
HEADERS += widget.h
FORMS += widget.ui
CONFIG += c++11
widget.cpp
#include "widget.h"
#include "ui_widget.h"
#include <QMessageBox>
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
//QTableWidget控件使用
//告诉控件 一共有多少列
QStringList list;
list << "姓名"<< "性别"<< "年龄";
ui->tableWidget->setColumnCount(list.size());
//设置水平头
ui->tableWidget->setHorizontalHeaderLabels(list);
//设置行数
ui->tableWidget->setRowCount(3);
//设置正文
//ui->tableWidget->setItem(0, 0, new QTableWidgetItem("aaa"));
//准备数据
QStringList nameList;
nameList << "aaaa"<< "bbbb"<< "cccc"<< "ddddd"<< "eeeee";
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)));
//添加年龄
//int 转 QString number
ui->tableWidget->setItem(i,col++,new QTableWidgetItem( QString::number(i+18)));
}
//点击按钮 添加sss
connect(ui->addBtn, &QPushButton::clicked, [=](){
//先判断有没有sss,有不添加,没有才添加
bool isEmpty = ui->tableWidget->findItems("sss", Qt::MatchExactly).empty();
if(isEmpty)
{
ui->tableWidget->insertRow(0);
ui->tableWidget->setItem(0, 0, new QTableWidgetItem("sss"));
ui->tableWidget->setItem(0, 1, new QTableWidgetItem("女"));
ui->tableWidget->setItem(0, 2, new QTableWidgetItem(QString::number(20)));
}
else
{
QMessageBox::warning(this,"警告!","sss有了!");
}
});
//点击按钮 删除sss
connect(ui->delBtn,&QPushButton::clicked,[=](){
bool isEmpty = ui->tableWidget->findItems("sss",Qt::MatchExactly).empty();
if(isEmpty)
{
QMessageBox::warning(this,"警告!","sss没有了!");
}
else
{
//先找到sss所在的行
int row = ui->tableWidget->findItems("sss",Qt::MatchExactly).first()->row();
//找到行数 删除掉
ui->tableWidget->removeRow(row);
}
});
}
Widget::~Widget()
{
delete ui;
}
widget.h
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
namespace Ui {
class Widget;
}
class Widget : public QWidget
{
Q_OBJECT
public:
explicit Widget(QWidget *parent = 0);
~Widget();
private:
Ui::Widget *ui;
};
#endif // WIDGET_H
main.cpp
#include "widget.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Widget w;
w.show();
return a.exec();
}