最近用Qt的QJsonObject和QJsonArray当做类变量来存储运行信息,发现这两货真的是巨坑。让人有一种JJ fly的感觉/(ㄒoㄒ)/~~。
写了个例子来说明下:
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
Dlldemo obj;
obj.test();
jsonArray.append(QJsonObject());
QJsonObject jo;
jo.insert("name","liying");
jsonArray.append(jo);
}
void MainWindow::on_lineEdit_textChanged(const QString &arg1)
{
qDebug()<<__function__>
qDebug()<<__line__>
QJsonObject jo = jsonArray.at(0).toObject();
qDebug()<<__line__>
jo.insert("type",arg1);
qDebug()<<__line__>
jsonArray.replace(0,jo);
qDebug()<<__line__>
#if 0
//下面这种做法毫无效果
jsonArray[0].toObject().in