qt tablewidget添加一行变成两行

qt tablewidget添加一行变成两行,第1张

在行号为row的行前插入一行。

行号为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}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/bake/11197993.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-14
下一篇2023-05-14

发表评论

登录后才能评论

评论列表(0条)

    保存