该类主要是用列表的方式来显示数据。

1.添加控件

ui->tableWidget->setCellWidget(int row,int column,QWidget *widget);

2.设置列尺寸的比例

ui->tableWidget->horizontalHeader()->setSectionResizeMode(0,QHeaderView::ResizeToContents);//根据内容来定义宽度

ui->tableWidget->horizontalHeader()->setSectionResizeMode(1,QHeaderView::Stretch);//该列根据布局和其它列的根据内容定义的列的宽度自适应宽度

3.设置第一列隐藏

ui->tableWidget->verticalHeader()->hide();

4.获取文本内容

QString text = ui->tableWidget->item(int row,int column)->text();

5.设置不可编辑

ui->tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);

6、设置清空

void QTableWidget::clear() [slot]

Removes all items in the view. This will also remove all selections and headers.

//清空表格中所有内容(包含表头)。

7、清空但不包含表头

void QTableWidget::clearContents() [slot]

Removes all items not in the headers from the view. This will also remove all selections. The table dimensions stay the same.//清空表格中的内容(不包含表头)。

8、删除表格中的某行中的某列内容。

void QTableWidget::removeCellWidget(int row, int column)
 Removes the widget set on the cell indicated by row and column.

9、void QTableWidget::removeColumn(int column) [slot]

//删除表格中的某列内容。
 Removes the column column and all its items from the table.

10、删除表格中的某行内容

void QTableWidget::removeRow(int row) [slot] 。
 Removes the row row and all its items from the table

11、删除表格中的某行和某列

QTableWidgetItem * QTableWidget::takeItem(int row, int column)
 Removes the item at row and column from the table without deleting it.

12、删除表格中的水平标题头

QTableWidgetItem * QTableWidget::takeHorizontalHeaderItem(int column)

Removes the horizontal header item at column from the header without deleting it.

13、删除表格中的垂直标题头

QTableWidgetItem * QTableWidget::takeVerticalHeaderItem(int row)

Removes the vertical header item at row from the header without deleting it.

14、添加多个控件,如何响应相似的操作

for循环,按照1添加控件;

for(int i= - ;i<5;i++)
{     //创建一个QPushButton控件QPushButton *pushButton_ = new QPushButton();//设置按键显示文字pushButton_->setText("点击");//建立信号槽connect(pushButton_, SIGNAL(clicked()), this, SLOT(clickButton()));//将QPushButton控件设置到QTableWidget中ui->tableWidget->setCellWidget(i, 1 ,pushButton_);
}

void MyTableWidget::clickButton()
{QPushButton *pushButton_ = dynamic_cast<QPushButton*>(this->sender());if(NULL == pushButton_){return;}int x = pushButton_->frameGeometry().x();int y = pushButton_->frameGeometry().y();QModelIndex index = ui->tableWidget->indexAt(QPoint(x, y));int row = index.row();int column = index.column();//有可能只需要行   不需要列  根据自己的情况来使用qDebug() << "选择第几行:" << row << "选择第几列:" << column;//接下来自定义要处理的内容//。。。。。。
}

15、设置居中显示

ui->tableWidget->horizontalHeader()->setDefaultAlignment(Qt::AlignHCenter);//表头字体居中

16、设置Item居中显示

     //让tableWidget内容中的每个元素居中for (int i=0;i<5;i++){for (int j=0;j<8;j++){ui->tableWidget->item(i,j)->setTextAlignment(Qt::AlignHCenter|Qt::AlignVCenter);}}

17、合并单元格:

tableWidget->setSpan(0, 0, 3, 1)  # 其参数为: 要改变单元格的1行数、2列数,要合并的3行数、4列数

18、设置单元格的大小

首先,可以指定某个行或者列的大小

tableWidget->setColumnWidth(3,200);

tableWidget->setRowHeight(3,60);

还可以将行和列的大小设为与内容相匹配

tableWidget->resizeColumnsToContents();

tableWidget->resizeRowsToContents();

19、 获得单击单元格的内容

通过实现 itemClicked (QTableWidgetItem *) 信号的槽函数,就可以获得鼠标单击到的单元格指针,进而获得其中的文字信息

connect(tableWidget,SIGNAL(itemClicked(QTreeWidgetItem*,int)),this, SLOT( getItem(QTreeWidgetItem*,int)) );

20、 获得双击单元格的内容

通过实现 itemDoubleClicked (QTableWidgetItem *) 信号的槽函数,就可以获得鼠标单击到的单元格指针,进而获得其中的文字信息

connect(tableWidget,SIGNAL(itemDoubleClicked(QTreeWidgetItem*,int)),this, SLOT( getItem(QTreeWidgetItem*,int)) );

21、背景色交替

ui->tabWidget->setAlternatingRowColors(true);
ui->tabWidget->setStyleSheet("alternate-background-color:red;background:white;color:#6b6d7b;);

Note:语句顺序需要注意,顺序错了达不到效果的

22.添加一行数据

 int rowIndex = m_pAttrbuteList->rowCount();tableWidget->setRowCount(rowIndex + 1);//总行数增加1void addItemContent(int row, int column, QString content){QTableWidgetItem *item = new QTableWidgetItem (content);table->setItem(row, column, item);}

23.获取选中行的内容

QList<QTableWidgetItem*> items = ui->tableWidget->selectedItems();
int count = items.count();
for(int i = 0; i < count; i++)
{int row = ui->tableWidget->row(items.at(i));QTableWidgetItem *item = items.at(i);QString text = item->text(); //获取内容
}

24.获取选中的行

QList<QTableWidgetSelectionRange>ranges=ui->tableWidget->selectedRanges();int count=ranges.count();for(int i=0;i<count;i++){int topRow=ranges.at(i).topRow();int bottomRow=ranges.at(i).bottomRow();for(int j=topRow;j<=bottomRow;j++){qDebug()<<"selectRow"<<j;}}

25.滚动条

ui->tableWidget->scrollToItem(ui->tableWidget(row,1));//滚动到当前位置

ui->tableWidget->scrollToBottom();

ui->tableWidget->scrollToTop();

QTableWidget使用方法详细介绍相关推荐

  1. 如何更换安装鸿蒙系统,华为鸿蒙系统2.0如何进行安装?鸿蒙系统2.0安装方法详细介绍...

    华为鸿蒙系统2.0如何进行安装?现在已经可以安装鸿蒙系统2.0,但是你不清楚安装,下面就让浏览器小编为大家带来,鸿蒙系统2.0安装方法详细介绍. 部分更新了华为鸿蒙OS用户表示,安卓和鸿蒙的应用软件都 ...

  2. 鸿蒙系统可以安装的浏览器,华为鸿蒙系统2.0如何进行安装?鸿蒙系统2.0安装方法详细介绍...

    华为鸿蒙系统2.0如何进行安装?现在已经可以安装鸿蒙系统2.0,但是你不清楚安装,下面就让浏览器小编为大家带来,鸿蒙系统2.0安装方法详细介绍. 部分更新了华为鸿蒙OS用户表示,安卓和鸿蒙的应用软件都 ...

  3. php ucenter home登录,UCenter Home 2.0 安装方法详细介绍

    本教程为大家介绍 UCenter Home 2.0 的安装方法(以虚拟主机为例).在安装 UCenter Home 2.0 之前,请确认在服务器上已经安装过 UCenter ,UCenter 的安装方 ...

  4. 怎么使用小爱同学音响_小爱音箱mini怎么样如何使用 小爱音箱mini使用方法详细介绍...

    小爱音箱mini怎么样如何使用?相信小伙伴们一定很好奇,小米音响mini首发仅需99元,下面小编为大家带来了小爱音箱mini使用方法详细介绍,感兴趣的小伙伴赶紧跟着小编一起来看看吧. 小爱音箱mini ...

  5. python定义数组的方法_Python数组定义方法详细介绍

    本文实例讲述了Python数组定义方法.分享给大家供大家参考,具体如下: Python中没有数组的数据结构,但列表很像数组,如: a=[0,1,2] 这时:a[0]=0, a[1]=1, a[[2]= ...

  6. CreateFile函数使用方法详细介绍

    CreateFile The CreateFile function creates or opens the following objects and returns a handle that ...

  7. 经典IDEF系统分析方法详细介绍

    经典IDEF系统分析方法详细介绍 (转载) IDEF是ICAM DEFinition method 的缩写,是美国空军在70年代末80年代初ICAM(Integrated Computer Aided ...

  8. vi使用方法详细介绍

    vi使用方法详细介绍 vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令.由于对Unix及Linux系统的任何版 ...

  9. VB.NET Mid函数的使用方法详细介绍

    VB.NET Mid函数的使用方法详细介绍 --Mid函数从字符串中返回指定数量的字符. 格式: Mid(string, start[, length]) 理解: 返回string中从start开始的 ...

最新文章

  1. android studio 常量表达式错误
  2. 直接载入内存中的DLL
  3. MySQL 开启远程登录权限
  4. SAP Spartacus使用到的技术栈
  5. Java写一个快速排序_快速排序java实现
  6. MySQL 修改和删除索引
  7. arm跑操作系统的意义_不太远的猜想:当ARM和鸿蒙OS在笔记本领域相遇,颠覆已无可避免...
  8. 蓝桥杯 ALGO-160 算法训练 P0104
  9. 评论计算机课程讲师教学质量,浅谈信息技术课堂评价的策略
  10. python random函数_python随机模块random的22种函数(小结)
  11. 数据标注工具YEDDA
  12. Java线程的状态及主要转化方法
  13. 解空间树搜索及最优解
  14. UOS统信系统任务栏不见解决方案
  15. map文件介绍及使用
  16. 吃透MIPI接口,你必须了解它这三种PHY规范的区别
  17. 什么手势使用电子计算机比较快,手势功能
  18. C#中定义装箱和拆箱详解
  19. Android开发经验谈:微信小程序的事件处理,灵魂拷问
  20. HDU 5514Frogs

热门文章

  1. 做数据挖掘工作需要具备哪些思维原理?
  2. 常见六种热量高食物和饮料
  3. Android 下拉刷新框架实现
  4. PyTorch深度学习入门笔记(五)Transforms的使用
  5. 从零开始开发Android相机app(三)简单介绍图像滤镜功能
  6. ps cs6 mac破解方法
  7. 佛寺风飘飘,塔上幡摇摇
  8. docker的部署及使用
  9. 润物细无声之千分之一
  10. windows电脑重装系统步骤、cmd常用命令等