QtCreator, как определить, какое переопределение используется? - PullRequest
0 голосов
/ 14 февраля 2019

В QtCreator, когда вы наводите курсор мыши на функцию Qt, вы получите контекстную справку, которая нумерует все различные перегрузки, доступные для вызова.

Вопрос в том, что в случае QObject :: connect есть8 доступных перегрузок, как узнать, какой из них фактически используется?

У меня есть существующий код, и я пытаюсь определить, какой метод перегрузки используется, чтобы я мог очистить код и использовать тип для замены:

QObject::connect(this
                        ,&clsQtPushBtn::clicked
                        ,[pobjScriptEng, strCall, strFile, strScript]() {
                            if ( strCall.isEmpty() != true ) {
                                QString strScriptWithCall = static_cast<QString>(strScript)
                                                         + static_cast<QString>(strCall) + "();";
                                pobjScriptEng->evaluate(strScriptWithCall);
                            }
                        });

То, что я хочу сделать, это заменить параметр, присвоив приведенный ниже код временной переменной и присвоив его в качестве параметра вместо этого:

   [pobjScriptEng, strCall, strFile, strScript]() {
     if ( strCall.isEmpty() != true ) {
       QString strScriptWithCall = static_cast<QString>(strScript)
                                + static_cast<QString>(strCall) + "();";
       pobjScriptEng->evaluate(strScriptWithCall);
     }
   }

Это потому, что я хочуповторно использовать этот же параметр в других соединениях, не дублируя источник.

1 Ответ

0 голосов
/ 14 февраля 2019

у вас есть лямбды в соединении, так что опция 7 из всех возможных перегруженных методов

вы можете использовать ctrl + пробел внутри параметров, чтобы проверить, какие из них лучше

enter image description here

...