效果如下

1. Table 初始化属性

1.隐藏表头 列号
2.默认行高
3.自适应列宽
4.隐藏表格框线
5.滚动条样式定义

void createLogged::createTabelView()
{/*表格属性设置*/m_pTableWidget = new QTableWidget(this);m_pTableWidget->resize(414,418);m_pTableWidget->move(21,43);m_pTableWidget->setFrameShape(QFrame::NoFrame);m_pTableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);m_pTableWidget->setSelectionMode(QAbstractItemView::NoSelection);m_pTableWidget->setFocusPolicy(Qt::NoFocus);m_pTableWidget->verticalHeader()->setDefaultSectionSize(24); //设置默认行高m_pTableWidget->setShowGrid(false);m_pTableWidget->verticalHeader()->hide();                    //隐藏默认显示的行头m_pTableWidget->horizontalHeader()->hide();                  //隐藏默认显示的列头m_pTableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);  //设置表格属性只读,不能编辑//m_pTableWidget->verticalHeader()->setSectionResizeMode(row, QHeaderView::ResizeToContents); //自适应行高m_pTableWidget->setColumnCount(3);m_pTableWidget->setColumnWidth(0,40);       //设定表格第0列宽度m_pTableWidget->setColumnWidth(1,320);m_pTableWidget->setColumnWidth(2,24);m_pTableWidget->horizontalHeader()->setSectionResizeMode(0, QHeaderView::ResizeToContents); //自适应列宽m_pTableWidget->setStyleSheet("QTableWidget{""background:transparent;""color:#ffffff;}""QScrollBar::vertical {""width:10px;""background-color:rgb(13,17,47);""border:none;""border-radius:5px;""}""QScrollBar::handle:vertical {""background-color: rgb(74,96,160);""min-height:20px;""border-radius:5px;""width:10px;""}""QScrollBar::add-line:vertical {height: 0px;}""QScrollBar::sub-line:vertical {height: 0px;}""QScrollBar::add-page:vertical {background: none;}""QScrollBar::sub-page:vertical {background: none;}");m_pTableWidget->show();
}
2.按钮删除行

以下代码有删减

void createLogged::slotBtnDel()
{/*1.获取按钮在表格中的行列位置*/QPushButton *sigBtn = qobject_cast<QPushButton*>(sender());QModelIndex modelIndex = m_pTableWidget->indexAt(sigBtn->pos());int row = modelIndex.row();/*2.找到Map中按钮所对应的的日志Id*/QMap<QPushButton *,QString>::const_iterator mapBtnAndId = m_mapLog.find(sigBtn); //找到所删除按钮对应的记录 IdQString strLogId = mapBtnAndId.value();/*3.计算记录行数*/StPushLog st = m_pTableLog->queryRow(strLogId);int nItem = st.vecRecvNodes.count(); //获取记录子项数/*4.删除*行记录*/for(int i = 0; i < nItem+2; i++){ //删除子项加1  行内容m_pTableWidget->removeRow(row);}/*5. 删除Map中的记录*/m_mapLog.remove(sigBtn);/*6.刷新序号列编号*/int nNum = 1;for(int i = 0; i < m_pTableWidget->rowCount();i++){QPushButton *pBtna = qobject_cast<QPushButton *>(m_pTableWidget->cellWidget(i,2));if(m_mapLog.contains(pBtna)){QTableWidgetItem *itemNo = new QTableWidgetItem(QString::number(nNum) + ".");m_pTableWidget->setItem(i,0,itemNo);nNum++;}}
}
3.表中添加控件

以下代码有删减

    /*1.添加空行*/int row = m_pTableWidget->rowCount();//获取总行数m_pTableWidget->setRowCount(row+vecLog.count()+2); //添加空行 用于添加数据/*2.添加序号*/QTableWidgetItem *itemNo = new QTableWidgetItem(QString::number(m_mapLog.count()+1) + ".");m_pTableWidget->setItem(row,0,itemNo);/*3.添加信源送往*/QTableWidgetItem *item = new QTableWidgetItem("国际会议室大厅-信号源-送往:");item->setFont(QFont("SimHei",14));m_pTableWidget->setItem(row,1,item);//m_pTableWidget->verticalHeader()->setSectionResizeMode(row, QHeaderView::ResizeToContents); //自适应行高/*4.添加撤销记录按钮*/QPushButton *pBtnDel = new QPushButton;QString strTmp = "border-image:url(" + m_strImagePath + "SignPushPage/btn_delete.png);";pBtnDel->setStyleSheet(strTmp);pBtnDel->setFixedSize(24,24);connect(pBtnDel,SIGNAL(clicked()),this,SLOT(slotBtnDel()));m_pTableWidget->setCellWidget(row,2,pBtnDel);QStringList listl;listl<<"你家"<<"我家"<<"他家";/*5.添加推送子区域*/for(int i = 0;i < vecLog.count();i++){QTableWidgetItem *tmpItem = new QTableWidgetItem(listl.at(i%3));tmpItem->setFont(QFont("SimHei",12));m_pTableWidget->setItem(row+i+1,1,tmpItem);}m_pTableWidget->setRowHeight(row+vecLog.count()+1,10); //设置空白行行高m_pTableWidget->scrollToBottom(); //滚动显示底部

Qt_QTableWidget用法 添加、删除、添加控件、获取控件在表格中位置相关推荐

  1. 如何用php获取网页表格,PHP获取网页上任意表格中内容的通用程序的制作

    在工作中,经常需要对网页上的表格内容进行处理,但是,由于表格内容制作过程中的随意性,跨行跨列经常发生,所以我作了这几个函数,以获取表格的内容,程序中重要的地方已作了注解,所以在此不再重复说明,经过测试 ...

  2. android卡刷包自制rom之添加删除,添加/删除ROM内置APP的教程

    ROM闪存软件包是Android闪存中必不可少的东西删除刷机包自带软件,但是大多数ROM闪存软件包都与许多应用程序集成在一起,其中许多不是您想要的,也没有您想要的应用程序. 使用Mushroom RO ...

  3. 电脑的添加删除系统组件使用方法

    一. 添加/ 删除组件 (1 )单击打开"开始"→"设置"→"控制面板"→ "添加/ 删除程序"命令, 进入" ...

  4. html增加删除线,HTML如何添加删除线?

    HTML中可以使用<del>标签和<strike>标签来给文本文字添加删除线.<del> 标签用于定义文档中已被删除的文本:<strike> 标签用于定 ...

  5. windows server 2003添加删除组件没有Internet 信息服务??

    1. 进入"控制面板"-> 双击"添加或删除程序"->单击"添加/删除 Windows 组件". 2. 在"组件&qu ...

  6. 计算机表格中如何计算数据透视表,Excel表格中在数据透视表中添加计算字段的方法...

    计算字段是使用数据透视表中的字段同其他内容经过计算后得到的,如果用户需要在数据透视表中自定义计算公式以计算数据,可以通过添加计算字段来实现,下面介绍Excel表格中在数据透视表中添加计算字段的具体操作 ...

  7. 艺赛旗RPA 网页处理系列(四):网页表格中获取数据,并点击相应记录后的按钮操作说明总结

    目前艺赛旗RPA已经更新到8.0版本,可以让所有用户免费下载试用http://www.i-search.com.cn/index.html?from=line1 (复制链接下载) 问题描述 最近有很多 ...

  8. Maps模块管理地图控件,用于在web页面中显示地图控件,提供各种接口操作地图控件,如添加标点、路线等。通过plus.maps可获取地图管理对象

    方法: openSysMap: 调用系统第三方程序进行导航 create: 创建Map对象 getMapById: 查找已经创建的Map对象 对象: Map: 地图控件对象 MapStyles: 地图 ...

  9. autojs 如何获取控件的desc_owchart教程三:如何添加成交量?

    这是owchart框架教程的第三节,该示例兼容支持Visual Studio 2005-202X,覆盖.Net2.0到后续所有版本,不同版本的IDE项目构建和编码过程基本相同.该示例代码会被上传至gi ...

  10. Repeater控件中添加删除修改按钮

    1: <asp:LinkButton ID="LinkButton1" runat="server" CommandArgument='<%#Eva ...

最新文章

  1. sd.js帮助您简化繁重的获取数据、存储数据(CRUD)骚操作(吐槽~在安卓9.0以下或者IOS10.X以下手机端H5页面不支持,在这两种情况下的系统只能使用ajax或者原生js请求后台数据)
  2. java ee中javamail注解_JavaEE之注解
  3. activemq broker集群_17 个方面,综合对比 Kafka、RabbitMQ、RocketMQ、ActiveMQ
  4. python config
  5. C语言const使用
  6. ubuntu 12.04解决Broadcom STA无线网卡驱动安装失败解决
  7. Android的图片缓存ImageCache(转)
  8. powerdesigner 技巧
  9. c语言 手动实现sizeof,sizeof究竟是怎样实现的?
  10. 这份数十万人浏览,作为企业风向标的BI报告,你一定要看看
  11. 配置文件keepalived.conf详解
  12. 万众期待的PowerBI Report Server与PowerBI Premium
  13. C语言 strftime 格式化显示日期时间 时间戳
  14. Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF8
  15. 去除NSLog时间戳及其他输出信息
  16. 各地实时摄像头_你头顶的摄像头将变成有脑子的眼睛!亚马逊推出AWS Panorama,强监控时代来临?...
  17. xmind8 Pro注册
  18. MultiTracker 多目标跟踪算法
  19. 图片文字识别python
  20. 158玩游戏平台最新上线

热门文章

  1. VPC中安装Windows Server 2008
  2. Autocompletetextview width fill parent问题
  3. linux命令行用户登录,Linux终端以及用户登录相关命令
  4. nginx502错误原因解决方法_Got fatal error 1236原因和解决方法
  5. php utc时间_datetime - 以PHP格式获取UTC时间
  6. android 自定义流程图,GitHub - zx-Zhu/ProcessChart: 安卓自定义流程进度图控件
  7. c语言i=5.6a=(int)i,(PSIM仿真)从零开始设计BOOST数字控制器
  8. WEBPACK+ES6+REACT入门(7/7)-React中绑定文本框与state中的值
  9. Git(8):在GitHub上,如何使fork到的项目与原仓库的更新保持同步?
  10. VMware 设置共享文件夹