Написана dll, в которой есть следующая функция:Код:void GB_2dbuilder::areaPrepare(QWidget *parent){ button = new QPushButton(parent); connect(button,SIGNAL(clicked()),this,SL OT(showmessage())); button->show();}, где showmessage:Код:void GB_2dbuilder::showmessage(){ QMessageBox::information(0,"Hello","mess age raised from library");}В функции main используется объект пользовательского класса GBGuiPlugList, наследующий QListView. Есть функция, вызывающая areaPrepare из dll:Код:void GBGuiPlugList::newSelection(QListWidgetI tem *current){ if(!area){ QMessageBox::critical(0,"Plugin list.","Output area not set"); } this->hide(); QString filename = current->whatsThis(); QPluginLoader loader(filename); QObject *plugin = loader.instance(); if (plugin){ GB_interface *plugface = qobject_cast(plugin); if (plugface){ plugface->areaPrepare(this->area); } //delete plugin; }}, где area:Код:QWidget *area;Суть проблемы: button создаётся, но не получается заставить его реагировать на нажатие. Может кто знает как прописать его реакцию в dll?
|