设为首页 加入收藏

TOP

Qt自定义对象导入JavaScript脚本使用(五)
2015-02-02 14:10:32 来源: 作者: 【 】 浏览:77
Tags:定义 对象 导入 JavaScript 脚本 使用
:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \r\n\
#? ? loopfind = NULL, 40000,10000,rstBtn_pressed? ? ? ? ? ? ? ? ? \r\n\
#? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \r\n\
#########################################################")
? ? bool loopfind (int test_id,QString arg1,QString arg2,QString arg3,QString arg4, QString arg5,QString arg6,QString arg7,QString arg8,QString arg9);


?


#define D_CHANGE ("\
#########################################################\r\n\
# 函数说明:\r\n\
#? 从[源字符串名称]获取的数据,用[正则式]匹配出来的子字符串,根据[改变的方式]对子字符串进行格式上的转换并保存到[目标字符名称]? \r\n\
#? \r\n\
# 参数说明:\r\n\
#? arg1: 目标字符串名 ----------必选参数\r\n\
#? arg2: 源字符名称? ? ? ? ----------必选参数\r\n\
#? arg3: 正则式 ----------必选参数\r\n\
#? arg4: 表达式所在组 ----------必选参数\r\n\
#? arg5: 改变的方式 0:无改变;1:变为小写,2,变为大写---必选参数\r\n\
#? 示例:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \r\n\
#? ? loopfind = NULL, 40000,10000,rstBtn_pressed? ? ? ? ? ? ? ? ? \r\n\
#? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \r\n\
#########################################################")
? ? bool change (int test_id,QString arg1,QString arg2,QString arg3,QString arg4, QString arg5,QString arg6,QString arg7,QString arg8,QString arg9);


};
#endif // CMU_H


2、注册对象到java script解释器


注意要是在不同的函数调用需要使用new 创建注册的对象以免函数执行完毕被销毁


? ? CMU * cmu = new CMU();
? ? QScriptValue qcmu = eng->newQObject(cmu);
? ? eng->globalObject().setProperty(this->get_moudle_name().c_str(), qcmu);


/******************************************************************************************************
* Copyright (C) 2014, All right reserved.


* file
* version? 1.0
* author? NingJian (freegodly@gmail.com)
* brief


* detail


* TODO
* history? 2014-9-17 created by NingJian
*
* note
******************************************************************************************************/


#include "stt_basic_moudle.h"
#include "cmu.h"



std::map *STT_Basic_Moudle::STT_G_Test_Info;


std::map *STT_Basic_Moudle::STT_G_Test_Fun_Info;


RUN_FUN STT_Basic_Moudle::STT_G_Test_Run_Fun;


std::map? ? *STT_Basic_Moudle::STT_G_Moudles_Config;



STT_Basic_Moudle::STT_Basic_Moudle()
{


}



bool STT_Basic_Moudle::init(std::map &test_info, std::map &test_fun_info, std::map &moudles_config, RUN_FUN run_fun) const
{


? ? STT_Basic_Moudle::STT_G_Test_Info = &test_info;
? ? STT_Basic_Moudle::STT_G_Test_Fun_Info = &test_fun_info;
? ? STT_Basic_Moudle::STT_G_Test_Run_Fun = run_fun;
? ? STT_Basic_Moudle::STT_G_Moudles_Config = &moudles_config;
? ? return true;
}


bool STT_Basic_Moudle::release() const
{
? ? return true;
}


bool STT_Basic_Moudle::initiation(int test_id) const
{
? ? return true;
}


bool STT_Basic_Moudle::finish(int test_id) const
{
? ? std::string error_str;
? ? CMU_INFO? ci = CMU_Table[test_id];
? ? if( ci.anonymous_commu != NULL )
? ? {
? ? ? ? ci.anonymous_commu->fnClose(error_str);
? ? }
? ? std::map::iterator it = ci.name_commu.begin();
? ? while(it != ci.name_commu.end())
? ? {
? ? ? ? it->second->fnClose(error_str);
? ? ? ? it++;
? ? }
? ? ci.name_commu.clear();
? ? return true;
}


?



std::string STT_Basic_Moudle::get_moudle_version() const
{
? ? return std::string("Version: V1.0.0? \r\n" ) + STT_BUILD_TIME ;
}


std::string STT_Basic_Moudle::get_moudle_describe() const
{
? ? return "基本功能模块";
}


void STT_Basic_Moudle::reg_ui_fun(REG_UI_FUN reg_ui_f) const
{


}


void STT_Basic_Moudle::reg_fun(int test_id,QScriptEngine *eng) const
{
? ? CMU * cmu = new CMU();
? ? QScriptValue qcmu = eng->newQObject(cmu);
? ? eng->globalObject().set

首页 上一页 2 3 4 5 6 下一页 尾页 5/6/6
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Android 自动更新的实现 下一篇Qt 程序自定义插件

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: