Qt自定义对象导入JavaScript脚本使用

项目属性要添加

QT      +=  script

自定义的对象头文件如下,实现正常就好,记得脚本里要调用的方法一定要定义在public slots:下,要不然调用时提示该对象没有*方法

#ifndef CMU_H
#define CMU_H
#include "Communication/Communication.h"
#include "stt_basic_moudle.h"
#include <iostream>
#include <map>
using namespace std;


struct CMU_INFO
{
    ///
    /// \brief CMU_Table
    ///  name
    ///
    std::map<std::string, CCommunication*> name_commu;
    ///
    /// \brief anonymous_commu
    ///
    CCommunication* anonymous_commu;
};

///
/// \brief CMU_Table
///
extern std::map<int,CMU_INFO> CMU_Table;

class CMU:public QObject
{
    Q_OBJECT

public slots:

#define D_CONNECT ("\
#########################################################\r\n\
# 函数说明:\r\n\
#  打开并连接通讯 目前支持 telnet、console、系统命令行  \r\n\
#  \r\n\
# 参数说明:\r\n\
#  arg1: 连接模式[telnet;console,cmd] ----------必选参数\r\n\
#  arg2: 是否使用配置登陆,0默认登陆,1不登陆 [0;1]---可选\r\n\
#  arg3: 匿名通讯会自动关闭,给当前通讯命名[任意名字]  \r\n\
#  arg4: 无                                            \r\n\
#  arg5: 无                                            \r\n\
#  arg6: 无                                            \r\n\
#  示例:                                                \r\n\
#    connect = telnet , 0 , cpe_telnet                  \r\n\
#                                                        \r\n\
#########################################################")
    bool connect (int test_id,QString arg1,QString arg2,QString arg3,QString arg4, QString arg5,QString arg6,QString arg7,QString arg8,QString arg9);


#define D_CLOSE ("\
#########################################################\r\n\
# 函数说明:\r\n\
#  关闭通讯 目前支持 telnet、console、系统命令行  \r\n\
#  \r\n\
# 参数说明:\r\n\
#  arg1: 连接模式[telnet;console,cmd] ----------必选参数\r\n\
#  arg2: 匿名通讯会自动关闭,关闭通讯命名[任意名字] ---可选\r\n\
#  示例:                                                \r\n\
#    connect = telnet ,  cpe_telnet                  \r\n\
#                                                        \r\n\
#########################################################")
    bool close (int test_id,QString arg1,QString arg2,QString arg3,QString arg4, QString arg5,QString arg6,QString arg7,QString arg8,QString arg9);


#define D_SEND ("\
#########################################################\r\n\
# 函数说明:\r\n\
#  发送命令到通讯 目前支持 telnet、console、系统命令行  \r\n\
#  \r\n\
# 参数说明:\r\n\
#  arg1: 发送的命令 ----------必选参数\r\n\
#  arg2: 发送目标通讯,无为匿名通讯 通讯命名[任意名字] ---可选\r\n\
#  示例:                                                \r\n\
#    send = dir ,  cpe_telnet                  \r\n\
#                                                        \r\n\
#########################################################")
    bool send (int test_id,QString arg1,QString arg2,QString arg3,QString arg4, QString arg5,QString arg6,QString arg7,QString arg8,QString arg9);

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/add391374587b6e77adc44d6378a81c4.html