1 前言
最近做了一个对Json文件进行属性键值增删、修改的小工具。这里总结一下遇到的一些较为麻烦的问题,以及踩过的一些坑,方便自己回顾。也希望能让需要的人可以少绕些弯路。工具(如下图)主要功能为:读取路径下所有Json文件,并将所有Json文件文件名显示至QListWidget,单击QlistWidget中的Json文件时显示Json文件具体数据至QtableWidget,右键增删属性行,对Json文件中的数据进行修改后进行保存。下拉框中的属性名称由Json文件读入。
2 问题总结
(1)QTableWidget指定行列添加TableWidgetItem?
ui->tableWidget->setItem(Row,Column,new QTableWidgetItem(QString itemName));//itemName为需要显示的内容
(2)判断鼠标是否在QTableWidget内,进行右键操作事件?
///右键菜单显示 void DisJsonParam::contextMenuEvent(QContextMenuEvent *event) { QPoint i = ui->tableWidget->mapFromGlobal(event->globalPos()); QRect rect(QPoint(0, 0), ui->tableWidget->size()); if (rect.contains(i)) { _tableWidgetMenu->exec(event->globalPos()); } }
(3)QTableWidget右键插入行,删除行?//与(2)一同组成右键增删行功能
QMenu *_tableWidgetMenu = nullptr;
QAction *addProperty = new QAction("add Property", this); QAction *delProperty = new QAction("