做微商想做个网站,百度广告投放平台叫什么,华为游戏中心,湖南企业appQTableWidgetQTableWidgetQTableWidget部分使用方法#xff0c;如在表格中插入或删除一行数据以及清空表格数据等。在添加数据时#xff0c;设置了条件判断如正则表达式#xff0c;若用户输入的数据不合法#xff0c;则添加失败并提示用户错误的地方#xff0c;便于用户修…QTableWidgetQTableWidgetQTableWidget部分使用方法如在表格中插入或删除一行数据以及清空表格数据等。在添加数据时设置了条件判断如正则表达式若用户输入的数据不合法则添加失败并提示用户错误的地方便于用户修改。
1、创建一个QT Widget Application
1.1 打开QtWidgetsApplication3.ui 使用QWidget类创建并设置UI界面其中控件描述如下表所示 序号 名称 类型 描述 ① tableWidget QTableWidget 以表格形式用于展示添加的信息 ② nameEdit QLineEdit 填写姓名不能为空 ③ radioButton1(2) QRadioButton 选择性别默认为男 ④ ageBox QSpinBox 填写年龄需要大于0且小于100 ⑤ teleEdit QLineEdit 填写11位有效电话号码属性placeholderText“请输入11位电话号码” ⑥ addButton QPushButton Text“添加”用于在表格中添加数据 ⑦ delButton QPushButton Text“删除”用于删除表格中所选中一行的数据 ⑧ clearButton QPushButton Text“全部清空”用于清空表格中的数据
2、添加源码
//1、QtWidgetsApplication3.h文件
#include QtWidgets/QMainWindow
#include ui_QtWidgetsApplication3.hclass QtWidgetsApplication3 : public QMainWindow
{Q_OBJECTpublic:QtWidgetsApplication3(QWidget *parent Q_NULLPTR);private:Ui::QtWidgetsApplication3Class ui;private slots:void on_addButton_clicked();void on_delButton_clicked();void on_clearButton_clicked();
};//2、QtWidgetsApplication3.cpp文件
#include QtWidgetsApplication3.h
#include QWidget
#include QMessageBox#pragma execution_character_set(utf-8)QtWidgetsApplication3::QtWidgetsApplication3(QWidget *parent): QMainWindow(parent)
{ui.setupUi(this);QStringList header;header 姓名 性别 年龄 电话号码;ui.tableWidget-setColumnCount(header.size());ui.tableWidget-setHorizontalHeaderLabels(header);ui.tableWidget-setRowCount(0);ui.tableWidget-setEditTriggers(QAbstractItemView::NoEditTriggers);//不可编辑}void QtWidgetsApplication3::on_addButton_clicked()
{QString name ui.nameEdit-text();//姓名int age ui.ageBox-text().toInt();//年龄QString sex 男;if (ui.radioButton_2-isChecked())//单选按钮是勾选状态sex 女;//正则表达式判断电话号码是否合法QRegularExpression exp;exp.setPattern(^1[3-9][0-9]{9}$);QString tele ui.teleEdit-text();//电话QRegularExpressionMatch match exp.match(tele);//逐一判断是否合法if (name.length() 0)//姓名QMessageBox::information(this, 警告, 请输入姓名);else if (age 0)//年龄QMessageBox::information(this, 警告, 请输入年龄);else if (!match.hasMatch())//电话QMessageBox::information(this, 警告, 电话号码格式错误);else{//使用文本name查找项目MatchExactly表示 项名称必须完全匹配text//如果没有此项就可以添加了bool isEmpty ui.tableWidget-findItems(name, Qt::MatchExactly).empty();if (isEmpty){int index ui.tableWidget-rowCount();//行数ui.tableWidget-insertRow(index);//在最后插入一行ui.tableWidget-setItem(index, 0, new QTableWidgetItem(name));//设置单元格内容ui.tableWidget-setItem(index, 1, new QTableWidgetItem(sex));ui.tableWidget-setItem(index, 2, new QTableWidgetItem(QString::number(age)));ui.tableWidget-setItem(index, 3, new QTableWidgetItem(tele));QMessageBox::information(this, Done, 用户添加成功);}elseQMessageBox::information(this, Warning, 该用户已存在无法重复添加);}//清空输入控件。设置初始值ui.nameEdit-clear();ui.radioButton-setChecked(1);ui.ageBox-setValue(0);ui.teleEdit-clear();
}void QtWidgetsApplication3::on_delButton_clicked()//删除当前行
{//删除在表中所选中的一行数据//currentRow当前行removeRow移除当前行ui.tableWidget-removeRow(ui.tableWidget-currentRow());
}void QtWidgetsApplication3::on_clearButton_clicked()//全部清空
{//删除表中所有数据int n ui.tableWidget-rowCount();//总行数for (int i 0;i n;i)ui.tableWidget-removeRow(0);//遍历删除第0行
}//3、main.cpp文件
#include QtWidgetsApplication3.h
#include QtWidgets/QApplicationint main(int argc, char *argv[])
{QApplication a(argc, argv);QtWidgetsApplication3 w;w.show();return a.exec();
}
效果 参考原文QT实例2(QTableWidget表格中增删数据)_qtablewidget添加数据_abcdefghinjk的博客-CSDN博客