Скрыть или удалить элемент QMenu, как? |
Здравствуйте, гость ( Вход | Регистрация )
Скрыть или удалить элемент QMenu, как? |
Гость_mor_* |
15.2.2008, 13:07
Сообщение
#1
|
Гости |
Поиском пользовался не нашел, гуглил, тот же результат, как такое сделать?
|
|
|
Litkevich Yuriy |
15.2.2008, 16:21
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
методы hide() и show() применимы ко всем виджетам, пробывал?
|
|
|
DEADHUNT |
21.7.2009, 1:31
Сообщение
#3
|
Активный участник Группа: Участник Сообщений: 430 Регистрация: 15.4.2009 Пользователь №: 686 Спасибо сказали: 26 раз(а) Репутация: 2 |
visible = false, но меню всеровно показывается. есть ещё какие нибудь варианты?
|
|
|
Nicolay Sidorov |
23.7.2009, 19:45
Сообщение
#4
|
Новичок Группа: Новичок Сообщений: 1 Регистрация: 23.7.2009 Пользователь №: 936 Спасибо сказали: 0 раз(а) Репутация: 0 |
->setVisible(false)
->setHidden(true) ->hide() - ничего из этого не работает для QMenu. Остается использовать только setEnabled(false) или setDisabled(true), на большее, видимо, рассчитывать смысла нет. Способ скрытия QMenu найден: Надо только подсчитать порядковый номер нужного элемента QMenu (среди всех остальных, находящихся в menuBar'e): //QMenuBar* menuBar; menuBar->actions()[#]->setVisible(false); // где # - номер нужного элемента |
|
|
Litkevich Yuriy |
23.7.2009, 19:51
Сообщение
#5
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
SABROG |
23.7.2009, 20:08
Сообщение
#6
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
Или найти по имени объекта:
|
|
|
kwisp |
24.7.2009, 8:08
Сообщение
#7
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
QAction наследник QObject так что можно и стандартные функции юзать, кстати оч удобно так ка можно регулярные выражения использовать.
QList<T> QObject::findChildren ( const QString & name = QString() ) const QList<T> QObject::findChildren ( const QRegExp & regExp ) const |
|
|
SABROG |
24.7.2009, 8:17
Сообщение
#8
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
QAction наследник QObject так что можно и стандартные функции юзать, кстати оч удобно так ка можно регулярные выражения использовать. QList<T> QObject::findChildren ( const QString & name = QString() ) const QList<T> QObject::findChildren ( const QRegExp & regExp ) const Тут то ты и попался в ловушку При добавлении QAction к виджету, он не становится его хозяином: Цитата The ownership of action is not transferred to this QWidget.
|
|
|
kwisp |
24.7.2009, 8:21
Сообщение
#9
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
SABROG,
а у меня хозяин и все работает. правда у меня action`Ы добавляются в один тулбар. ты привел цитату из функции addWidget. а если посомотреть на конструкторы QAction там есть QObject* parent. если знаешь кого сделал хозяином всех действий думаю можно ими рулить. |
|
|
SABROG |
24.7.2009, 8:25
Сообщение
#10
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
|
|
|
Текстовая версия | Сейчас: 30.12.2024, 5:45 |