Через несколько лет я нашел решение, которое может сделать соединения короче. Решение основано на ответе @WildSeal и использует этот простой макрос:
#define QCON( a, b, c, d ) VERIFY( QObject::connect( a, SIGNAL(b), c, SLOT(d) ) )
Итак, длинный рассматриваемый код:
VERIFY( QObject::connect( first, SIGNAL(signal(int,int,QString)), second, SLOT(slot(int,int,QSTring)) ) );
Будет значительно короче:
QCON( first, signal(int,int,QString), second, slot(int,int,QString) );
Любые комментарии и предложения приветствуются :). Единственные недостатки, которые я обнаружил на данный момент, это то, что мне нужен отдельный макрос для подключения SIGNAL к SIGNAL. Но так как такая операция довольно редкая, я просто ввел QCONS()
, и она делает свое дело.