Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Fregloin от Июня 22, 2011, 17:04



Название: Удаление пунктов меню из menuBar главного окна
Отправлено: Fregloin от Июня 22, 2011, 17:04
Привет.
Добавляю в menuBar главного окна свои пункты меню так:
Код:
if(fmainMenu) //-- ссылка на menuBar() главного окна
    {
        fmainMenu->setUpdatesEnabled(false);
        if(!fconnMenu)
        {
            fconnMenu = new QMenu(trUtf8("Связь"));
            fconnMenu->addAction(trUtf8("Подключиться"),this,SIGNAL(connectToServer()));
            fconnMenu->addAction(trUtf8("Отключиться"),this,SIGNAL(disconnectFromServer()));
            fmainMenu->addMenu(fconnMenu);

        }

        if(!farchMenu)
        {
            farchMenu = new QMenu(trUtf8("Работа с архивом"));
            farchMenu->addAction(trUtf8("Реальное время"),this,SIGNAL(setRealtime()));
            for(ECList::iterator it=fecList->begin();it!=fecList->end();it++)
            {
                CEC * ec = *it;
                QAction * action = farchMenu->addAction(trUtf8("Просмотр архива ЭЦ%1").arg(QString::number(ec->ec_number)));
                action->setData(QVariant(ec->ec_number));
            }
        }
        fmainMenu->setUpdatesEnabled(true);
    }

у menuBar я не нашёл метода для удаления пунктов меню, только удаления QAction.
Сейчас удаляю так:
Код:
if(fmainMenu)
    {
        if(fconnMenu)
        {
            delete fconnMenu;
            fconnMenu = NULL;
        }
        if(farchMenu)
        {
            delete  farchMenu;
            farchMenu = NULL;
        }
    }
но в главном меню эти пункты остаются.
Как их убрать?


Название: Re: Удаление пунктов меню из menuBar главного окна
Отправлено: GreatSnake от Июня 22, 2011, 17:22
Перед удалением меню удаляй
Код
C++ (Qt)
delete fconnMenu->menuAction();


Название: Re: Удаление пунктов меню из menuBar главного окна
Отправлено: Fregloin от Июня 22, 2011, 17:55
спасибо, работает!