Я пытаюсь связать ярлык, созданный плагином, с действием, созданным другим плагином в моем приложении. Поэтому после того, как приложение находит и загружает оба плагина, я пытаюсь подключить их, и здесь происходит сбой приложения.
connect(myAction->getAction(), SIGNAL(triggered()),myLabel, SLOT(setLabelText()));
myAction-> getAction () - этот метод возвращает указатель созданного действия
setLabelText () - должен изменить текст метки
Если я удаляю эту строку, мое приложение работает нормально, действие добавляется в меню, а метка появляется в окне.
Методы из плагина, который возвращает действие
QAction* ActionPlugin::newAction() {
myAction = new QAction("Show text",this);
return myAction;
}
QAction* ActionPlugin::getAction() {
return myAction;
}
Методы плагина, которые возвращают метку
QLabel* LabelPlugin::newLabel() {
label = new QLabel("This plugin works");
return label;
}
void LabelPlugin::setTextforLabel() {
label->setText("This plugin works fine");
}
Каждый раз, когда приложение находит и загружает плагины, оно увеличивает переменную с именем verify (целое число), если ее значение равно 2, тогда я могу соединить эти два виджета
if (verify == 2)
connect(myAction->getAction(), SIGNAL(triggered()),myLabel, SLOT(setLabelText()));