crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> С++ --> QT Script ?, Как можно динамически вызвать ф-цию ?
JohnZ
  опции профиля:
сообщение 27.2.2017, 13:29
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 140
Регистрация: 19.7.2014
Пользователь №: 4190

Спасибо сказали: 1 раз(а)




Репутация:   0  


Есть такая функция в С++ коде

void MainWindow::callFunc(QString ffName, int fnum)
{
    QString fName = QString("%0%1").arg(ffName).arg(fnum);
    if (engine->globalObject().property(fName).isValid())
        engine->globalObject().property(fName).call();
}


Вопрос заключается в том, можно-ли это-же действие сделать из скрипта ?
Желательно-бы вызов ф-ции с параметрами ....
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
lanz
  опции профиля:
сообщение 28.2.2017, 9:11
Сообщение #2


Старейший участник
****

Группа: Участник
Сообщений: 907
Регистрация: 28.12.2012
Пользователь №: 3660

Спасибо сказали: 141 раз(а)




Репутация:   9  


fName = "" + ffName + fNum
if ( this[fName] !== undefined ) {
  this[fName]();
}

?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
JohnZ
  опции профиля:
сообщение 28.2.2017, 11:01
Сообщение #3


Участник
**

Группа: Участник
Сообщений: 140
Регистрация: 19.7.2014
Пользователь №: 4190

Спасибо сказали: 1 раз(а)




Репутация:   0  


БлагоДарю LANZ !!!

А там должен быть именно !== а не != как в С ?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
lanz
  опции профиля:
сообщение 28.2.2017, 11:14
Сообщение #4


Старейший участник
****

Группа: Участник
Сообщений: 907
Регистрация: 28.12.2012
Пользователь №: 3660

Спасибо сказали: 141 раз(а)




Репутация:   9  


!= делает type-coercion, например:
"1" == 1 -> true
"1" === 1 -> false
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
JohnZ
  опции профиля:
сообщение 1.3.2017, 15:37
Сообщение #5


Участник
**

Группа: Участник
Сообщений: 140
Регистрация: 19.7.2014
Пользователь №: 4190

Спасибо сказали: 1 раз(а)




Репутация:   0  


Спасибо lanz !!! Помогло :-)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 24.3.2017, 13:07