Russian Qt Forum
Ноябрь 26, 2024, 06:31 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QPushButton из dll  (Прочитано 1929 раз)
kom
Гость
« : Сентябрь 02, 2009, 18:37 »

Написана dll, в которой есть следующая функция:

Код:
void GB_2dbuilder::areaPrepare(QWidget *parent)
{
button = new QPushButton(parent);
connect(button,SIGNAL(clicked()),this,SLOT(showmessage()));
button->show();
}
, где showmessage:
Код:
void GB_2dbuilder::showmessage()
{
QMessageBox::information(0,"Hello","message raised from library");
}

В функции main используется объект пользовательского класса GBGuiPlugList, наследующий QListView. Есть функция, вызывающая areaPrepare из dll:
Код:
void GBGuiPlugList::newSelection(QListWidgetItem *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<GB_interface *>(plugin);
if (plugface){
plugface->areaPrepare(this->area);
}
//delete plugin;
}
}
, где area:
Код:
QWidget *area;
Суть проблемы: button создаётся, но не получается заставить его реагировать на нажатие. Может кто знает как прописать его реакцию в dll?  Непонимающий
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.09 секунд. Запросов: 21.