首先得在pro文件中加入QT+=script
然后导入相应的头文件
1
2
3
4
|
include <QStringList>
#include <QtScript/QScriptEngine>
#include <QtScript/QScriptValue>
#include <QtScript/QScriptValueIterator>
|
接下来便可使用相应的API了
示例代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
QString strJson =
"{ \"student\":[{\"Name\":\"ccf\",\"Math\":\"95\", \"Chinese\":\"84\"}, {\"Name\":\"zhangsan\",\"Math\":\"75\", \"Chinese\":\"70\"}]}"
;
QScriptEngine engine;
QScriptValue sc = engine.evaluate(
"value="
+ strResult);
if
(sc.property(
"dan"
).isArray())
//解析json数组
{
QScriptValueIterator it(sc.property(
"dan"
));
while
(it.hasNext())
{
it.next();
if
(!it.value().property(
"type"
).toString().isEmpty())
{
qDebug() <<
"type :"
<< it.value().property(
"type"
).toString();
qDebug() <<
"data :"
<< it.value().property(
"data"
).toString();
receMsg = it.value().property(
"data"
).toString();
qDebug() <<
"user :"
<< it.value().property(
"use"
).toString();
QDesktopWidget* desktopWidget;
//获取桌面设备
QRect screenRect;
desktopWidget = QApplication::desktop();
//获取桌面设备
screenRect = desktopWidget->screenGeometry();
//获取桌面大小的矩形
Danmu * danmu =
new
Danmu(NULL,receMsg,
"Red"
,1,screenRect);
qDebug()<<
"x"
<<danmu->getPosX()<<
" y"
<<danmu->getPosY();
}
}
}
|