
在行号为row的行前插入一行,如果row等于或大于总行数,则在表格最后一行添加一行。如果这里的行号存在一定问题,行号如果指代tableWidget自己标注的从1开始的行号的话,该描述便存在错误。当我进行表格添加行 *** 作并考虑到末尾行的特殊情况时,根据上述描述出现偏差,导致一次点击最后一行添加了两行。
头文件包含:1. #include <QTableWidget>
具体使用:
1. //构造一个QTableWidget类的实体对象tableWidget
2.tableWidget = new QTableWidget(ui->textBrowser)
3. tableWidget->setRowCount(7)//设置行数为7
4. tableWidget->setColumnCount(5)//设置列数为5
5. tableWidget->setGeometry(QRect(0,0,401,241))//设置tableWidget的大小
6. tableWidget->setItem(0,0,new QTableWidgetItem("abc"))//第一行第一列的内容设置为abc
7. tableWidget->setItem(1,0,new QTableWidgetItem("def"))//第二行第一列的内容设置为abc
8. // 40,110,100,60,85
9. tableWidget->setColumnWidth(0,40)//设置第一列的列宽
10. tableWidget->setColumnWidth(1,110)//设置第二列的列宽
11. tableWidget->setColumnWidth(2,100)//设置第三列的列宽
12. tableWidget->setColumnWidth(3,60)//设置第四列的列宽
13. tableWidget->setColumnWidth(4,85)//设置第五列的列宽
14. QTextCodec::setCodecForTr(QTextCodec::codecForName("GB18030"))//编码设置为GB18030
15. // 列表的标题----车次 车牌 支付卡 金额 累计金额
16. tableWidget->setHorizontalHeaderLabels(QStringList() <<tr("车次")<<tr("车牌")<<tr("支付卡")<<tr("金额")<<tr("累计金额"))
17. tableWidget->setFont(QFont("wenquanyi",12,3))//设置字体
18. QHeaderView* headerView = tableWidget->verticalHeader()
19. headerView->setHidden(true)//行名隐藏
1 定义一个按钮QPushButton * pBtn = new QPushButton()
2 链接信号与曹
connect(pBtn, SIGNAL(clicked()), this, SLOT(OnBtnClicked()))
3 按钮添加到单元格内
table->setCellWidget(0,0,pBtn)//如果点击按钮出现崩溃现象,就添加QTableWidgetItem 到按钮的那个单元格
4 实现按钮的事件
void myPic::OnBtnClicked(void) { QPushButton * senderObj=qobject_cast<QPushButton *>(sender()) if(senderObj == 0) { return } QModelIndex index =table->indexAt(QPoint(senderObj->frameGeometry().x(),senderObj->frameGeometry().y())) int row=index.row() qDebug()<<"row:"<<row}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)