Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Fregloin от Октябрь 24, 2013, 16:41



Название: Временно скрыть пункт меню в главном меню?
Отправлено: Fregloin от Октябрь 24, 2013, 16:41
Привет, как скрыть пункт меню с подпунктами в главном меню?
Если делать visible/show/hide то потом меню сразу раскрывается после show. А мне нужно что бы при определенном условии оно скрывалось, а потом появлялось. Как это сделать?


Название: Re: Временно скрыть пункт меню в главном меню?
Отправлено: kambala от Октябрь 24, 2013, 18:26
можно удалить, а потом вставить. а по-моему в данном случае лучше просто дизейблить.


Название: Re: Временно скрыть пункт меню в главном меню?
Отправлено: Fregloin от Октябрь 25, 2013, 21:40
пока так и сделал  :(


Название: Re: Временно скрыть пункт меню в главном меню?
Отправлено: kambala от Октябрь 25, 2013, 21:47
так а чем удаление/вставка не устроили?


Название: Re: Временно скрыть пункт меню в главном меню?
Отправлено: Fregloin от Октябрь 28, 2013, 12:17
Тем что перед этим меню и после него идут другие меню. А если я его удалю, как мне его потом вернуть в нужное место?


Название: Re: Временно скрыть пункт меню в главном меню?
Отправлено: VPS от Октябрь 28, 2013, 13:09
А если так:
Код:
...
//спрятать подменю с его элементами
subMenu->menuAction()->setVisible(false);

...

//отобразить подменю при выполнении условия, например при выборе флажка
QObject::connect(checkableAction, SIGNAL(toggled(bool)), subMenu->menuAction(), SLOT(setVisible(bool)));
...

П.С.: у меня нормально прячется и при выставлении setVisible в true, само не раскрывается...


Название: Re: Временно скрыть пункт меню в главном меню?
Отправлено: kambala от Октябрь 28, 2013, 13:34
Тем что перед этим меню и после него идут другие меню. А если я его удалю, как мне его потом вернуть в нужное место?
QAction * QMenu::insertMenu ( QAction * before, QMenu * menu )