crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> MDI window и plugin, как получить доступ из plugin'a к главному окну
balbes
  опции профиля:
сообщение 6.5.2015, 10:11
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 62
Регистрация: 11.10.2007
Пользователь №: 10

Спасибо сказали: 0 раз(а)




Репутация:   0  


Привет всем.
Есть главное окно, MDI window. В нем загружается плагин, загружается нормально.
Плагин передает гланому окну меню, которое нужно добавить к основному, а при клике по пункту меню, должно открыться дочернее окно, формирующееся в плагине.

Меню создается без проблем, но вот при клике по данному меню окно не создается, вот код создания меню и слота в плагине:
QMenu *CTestPlugin::getMenu( QMenuBar *pMenuBar )
{
    QAction *pAction= new QAction( tr("&Окно"), this );
    connect( pAction, SIGNAL( triggered(bool)), this, SLOT( createChildWindow()) );
    QMenu *pMenu = pMenuBar->addMenu( name() );
    pMenu->addAction( pAction );
    return pMenu;
}

void CTestPlugin::createChildWindow()
{
    QWidget *pWidget = getSubWindow();
    CMainWindow *pWindow = this->mainWindow();
    if( pWindow )
    {
        QMdiArea *pArea = pWindow->area();
        if(pArea)
            pArea->addSubWindow( pWidget );
        qDebug() << "pArea: " << pArea << " thread: " << QThread::currentThread();
    }
}
Адреса pWindow, pArea, и потока те же что и у основного окна, к которому собственно и нужно получить доступ.

Что я делаю не так? Почему слот выполняется, но окно не появляется?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
ViGOur
  опции профиля:
сообщение 6.5.2015, 11:24
Сообщение #2


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


Сделай так и все должно работать:
QMdiSubWindow * pSubWindow= pArea->addSubWindow( pWidget );
pSubWindow->show();  // <----------------- Добавить это строку
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 25.11.2024, 7:07