个人做门户网站需要注册,合肥做网站加盟,wordpress download文件,云速网站建设公司博客主页#xff1a;Duck Bro 博客主页系列专栏#xff1a;Qt 专栏关注博主#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出#xff0c;及时修改感谢大家点赞#x1f44d;收藏⭐评论✍ Qt常用控件 | 多元素控件 | Table Widget的说明及介绍
文章编号#…
博客主页Duck Bro 博客主页系列专栏Qt 专栏关注博主后期持续更新系列文章如果有错误感谢请大家批评指出及时修改感谢大家点赞收藏⭐评论✍ Qt常用控件 | 多元素控件 | Table Widget的说明及介绍
文章编号Qt 学习笔记 / 37 文章目录 Qt常用控件 | 多元素控件 | Table Widget的说明及介绍一、 QTableWidget介绍1. 简介2. 核心方法3. 核心信号 二、QTableWidgetItem介绍1. 简介2. 核心方法 三、QTableWidget的使用代码示例1. 使用Table Widget创建一个增删表 一、 QTableWidget介绍
1. 简介
QTableWidget是Qt中的一个控件类用于显示和编辑二维表格数据。它继承自QTableView和QWidget类并提供了一系列方法和信号槽用于操作表格数据和响应用户交互。
QTableWidget可以显示任意大小的表格每个格子可以包含文本、图像和其他自定义的小部件。它支持单元格的选择、复制、粘贴、拖拽等操作并提供了快捷键和菜单选项来方便用户的操作。 2. 核心方法
⽅法说明item(int row, int column)根据行数列数获取指定的 QTableWidgetItem*setItem(int row, int column, QTableWidget*)根据行数列数设置表格中的元素currentItem()返回被选中的元素 QTableWidgetItem*currentRow()返回被选中元素是第几行currentColumn()返回被选中元素是第几列row(QTableWidgetItem* )获取指定 item 是第几行column(QTableWidgetItem* )获取指定 item 是第几列rowCount()获取行数columnCount()获取列数insertRow(int row)在第 row 行处插入新行insertColumn(int column)在第 column 列插入新列removeRow(int row)删除第 row 行removeColumn(int column)删除第 column 列setHorizontalHeaderItem(int column, QTableWidget*)设置指定列的表头setVerticalHeaderItem(int row, QTableWidget*)设置指定行的表头
3. 核心信号
信号说明cellClicked(int row, int column)点击单元格时触发cellDoubleClicked(int row, int column)双击单元格时触发cellEntered(int row, int column)鼠标进入单元格时触发currentCellChanged(int row, int column, int previousRow, int previousColumn)选中不同单元格时触发 二、QTableWidgetItem介绍
1. 简介
表格中的每个单元格, 是一个 QTableWidgetItem 对象
QTableWidgetItem是一个用于创建和操作表格项目的类。它是Qt框架中的一个类主要用于在Qt应用程序中创建和管理表格数据。
QTableWidgetItem可以用于填充表格的单元格并在其中存储各种类型的数据比如文本、数字、日期和图像等。它还可以设置单元格的样式和编辑属性以及监测和响应用户的交互操作。
2. 核心方法
⽅法说明row()获取当前是第几行column()获取当前是第几列setText(const QString)设置⽂本setTextAlignment(int)设置⽂本对齐setIcon(const QIcon)设置图标setSelected(bool)设置被选中setSizeHints(const QSize)设置尺寸setFont(const QFont)设置字体 三、QTableWidget的使用代码示例
1. 使用Table Widget创建一个增删表 在界面中创建一个Table Widget四个PuttonButton一个LineEdit如图所示 编写widget.cpp初始化表格
Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui-setupUi(this);//新增行ui-tableWidget-insertRow(0);ui-tableWidget-insertRow(1);ui-tableWidget-insertRow(2);//新增列ui-tableWidget-insertColumn(0);ui-tableWidget-insertColumn(1);ui-tableWidget-insertColumn(2);//设置列名ui-tableWidget-setHorizontalHeaderItem(0,new QTableWidgetItem(学号));ui-tableWidget-setHorizontalHeaderItem(1,new QTableWidgetItem(姓名));ui-tableWidget-setHorizontalHeaderItem(2,new QTableWidgetItem(年龄));//添加表格内容ui-tableWidget-setItem(0,0,new QTableWidgetItem(001));ui-tableWidget-setItem(0,1,new QTableWidgetItem(小明));ui-tableWidget-setItem(0,2,new QTableWidgetItem(20));ui-tableWidget-setItem(1,0,new QTableWidgetItem(002));ui-tableWidget-setItem(1,1,new QTableWidgetItem(小李));ui-tableWidget-setItem(1,2,new QTableWidgetItem(21));ui-tableWidget-setItem(2,0,new QTableWidgetItem(003));ui-tableWidget-setItem(2,1,new QTableWidgetItem(小红));ui-tableWidget-setItem(2,2,new QTableWidgetItem(22));
}编写生成的按钮槽函数
void Widget::on_pushButton_insertRow_clicked()
{//获取到当前有多少行int rowCount ui-tableWidget-rowCount();//插入新的行ui-tableWidget-insertRow(rowCount);
}void Widget::on_pushButton_deleteRow_clicked()
{//获取当前选中的行int curRow ui-tableWidget-currentRow();//删除当前选中的行ui-tableWidget-removeRow(curRow);
}void Widget::on_pushButton_insertColumn_clicked()
{//获取当前的列数int colCount ui-tableWidget-columnCount();//插入新的列ui-tableWidget-insertColumn(colCount);//从输入框中获取列名const QString text ui-lineEdit-text();//设置列名ui-tableWidget-setHorizontalHeaderItem(colCount,new QTableWidgetItem(text));}void Widget::on_pushButton_deleteColumn_clicked()
{//获取当前选中的列int curCol ui-tableWidget-currentColumn();//删除选中的列ui-tableWidget-removeColumn(curCol);
}运行代码实现表格的增删功能