Qt_QTableWidget用法 添加、删除、添加控件、获取控件在表格中位置
效果如下
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用法 添加、删除、添加控件、获取控件在表格中位置相关推荐
- 如何用php获取网页表格,PHP获取网页上任意表格中内容的通用程序的制作
在工作中,经常需要对网页上的表格内容进行处理,但是,由于表格内容制作过程中的随意性,跨行跨列经常发生,所以我作了这几个函数,以获取表格的内容,程序中重要的地方已作了注解,所以在此不再重复说明,经过测试 ...
- android卡刷包自制rom之添加删除,添加/删除ROM内置APP的教程
ROM闪存软件包是Android闪存中必不可少的东西删除刷机包自带软件,但是大多数ROM闪存软件包都与许多应用程序集成在一起,其中许多不是您想要的,也没有您想要的应用程序. 使用Mushroom RO ...
- 电脑的添加删除系统组件使用方法
一. 添加/ 删除组件 (1 )单击打开"开始"→"设置"→"控制面板"→ "添加/ 删除程序"命令, 进入" ...
- html增加删除线,HTML如何添加删除线?
HTML中可以使用<del>标签和<strike>标签来给文本文字添加删除线.<del> 标签用于定义文档中已被删除的文本:<strike> 标签用于定 ...
- windows server 2003添加删除组件没有Internet 信息服务??
1. 进入"控制面板"-> 双击"添加或删除程序"->单击"添加/删除 Windows 组件". 2. 在"组件&qu ...
- 计算机表格中如何计算数据透视表,Excel表格中在数据透视表中添加计算字段的方法...
计算字段是使用数据透视表中的字段同其他内容经过计算后得到的,如果用户需要在数据透视表中自定义计算公式以计算数据,可以通过添加计算字段来实现,下面介绍Excel表格中在数据透视表中添加计算字段的具体操作 ...
- 艺赛旗RPA 网页处理系列(四):网页表格中获取数据,并点击相应记录后的按钮操作说明总结
目前艺赛旗RPA已经更新到8.0版本,可以让所有用户免费下载试用http://www.i-search.com.cn/index.html?from=line1 (复制链接下载) 问题描述 最近有很多 ...
- Maps模块管理地图控件,用于在web页面中显示地图控件,提供各种接口操作地图控件,如添加标点、路线等。通过plus.maps可获取地图管理对象
方法: openSysMap: 调用系统第三方程序进行导航 create: 创建Map对象 getMapById: 查找已经创建的Map对象 对象: Map: 地图控件对象 MapStyles: 地图 ...
- autojs 如何获取控件的desc_owchart教程三:如何添加成交量?
这是owchart框架教程的第三节,该示例兼容支持Visual Studio 2005-202X,覆盖.Net2.0到后续所有版本,不同版本的IDE项目构建和编码过程基本相同.该示例代码会被上传至gi ...
- Repeater控件中添加删除修改按钮
1: <asp:LinkButton ID="LinkButton1" runat="server" CommandArgument='<%#Eva ...
最新文章
- sd.js帮助您简化繁重的获取数据、存储数据(CRUD)骚操作(吐槽~在安卓9.0以下或者IOS10.X以下手机端H5页面不支持,在这两种情况下的系统只能使用ajax或者原生js请求后台数据)
- java ee中javamail注解_JavaEE之注解
- activemq broker集群_17 个方面,综合对比 Kafka、RabbitMQ、RocketMQ、ActiveMQ
- python config
- C语言const使用
- ubuntu 12.04解决Broadcom STA无线网卡驱动安装失败解决
- Android的图片缓存ImageCache(转)
- powerdesigner 技巧
- c语言 手动实现sizeof,sizeof究竟是怎样实现的?
- 这份数十万人浏览,作为企业风向标的BI报告,你一定要看看
- 配置文件keepalived.conf详解
- 万众期待的PowerBI Report Server与PowerBI Premium
- C语言 strftime 格式化显示日期时间 时间戳
- Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF8
- 去除NSLog时间戳及其他输出信息
- 各地实时摄像头_你头顶的摄像头将变成有脑子的眼睛!亚马逊推出AWS Panorama,强监控时代来临?...
- xmind8 Pro注册
- MultiTracker 多目标跟踪算法
- 图片文字识别python
- 158玩游戏平台最新上线
热门文章
- VPC中安装Windows Server 2008
- Autocompletetextview width fill parent问题
- linux命令行用户登录,Linux终端以及用户登录相关命令
- nginx502错误原因解决方法_Got fatal error 1236原因和解决方法
- php utc时间_datetime - 以PHP格式获取UTC时间
- android 自定义流程图,GitHub - zx-Zhu/ProcessChart: 安卓自定义流程进度图控件
- c语言i=5.6a=(int)i,(PSIM仿真)从零开始设计BOOST数字控制器
- WEBPACK+ES6+REACT入门(7/7)-React中绑定文本框与state中的值
- Git(8):在GitHub上,如何使fork到的项目与原仓库的更新保持同步?
- VMware 设置共享文件夹