Доброго времени суток! есть токая вот функция
C++ (Qt)
void scriptengine::loadModule(const QString &moduleName){
    QWidget *dialog;
    QUiLoader loader;
    QFile file(m_configpath+"/"+moduleName+".ui");
    if (!file.open(QFile::ReadOnly)){
        return;
    }
    dialog = loader.load(&file);
    file.close();
    file.setFileName(m_configpath+"/"+moduleName+".js");
    if (!file.open(QFile::ReadOnly)){
        return;
    }
    QTextStream filets(&file);
    QScriptValue scv = m_se.newQObject(dialog);
    m_se.globalObject().setProperty("ui",scv);
    scv = m_se.newQObject(&m_dbe);
    m_se.globalObject().setProperty("db",scv);
    m_se.evaluate(filets.readAll());
    file.close();
    //m_se.evaluate("run()");// работает
 
    QScriptValue fun = m_se.evaluate("(run())");
    QScriptValueList args;
    args << 1 << 2;
    QScriptValue threeAgain = fun.call(QScriptValue(), args);//работает
    fun = m_se.evaluate("(runab(a, b))");
    QScriptValue threeAgain = fun.call(QScriptValue(), args);//не работает
}
и скрпипт:
Javascript
function run(){
    ui.pushButton.clicked.connect(on_pushButton_clicked);
    ui.show();
}
function runab(a, b){
     ui.show();
    return a+b;
}
 
function on_pushButton_clicked(){
    db.createConnection();
    db.executeQuery("CREATE TABLE testtest22 char, ccddd bit) WITH (  OIDS = FALSE);");
}
 
Почему  run() работает, а  runab(a, b) нет?
PS щас выяснил что запуск run() происходит еще на этопе
QScriptValue fun = m_se.evaluate("(run())");тогда как пользоваться функциями???