Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
|
ruzik |
10.5.2011, 21:17
Сообщение
#1
|
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 254 Регистрация: 23.2.2011 Из: Саратов Пользователь №: 2436 Спасибо сказали: 2 раз(а) Репутация: 0
|
Не подскажите как реализовать перебор QAction элементов QMenu, то есть мне нужно обратиться к QAction через его номер, как ни странно искал в ассисте ничего подходящего нет, хотя почему-то Visual Assist с упорством выдает функцию findActionForId() о которой в ассисте вообще не слова
Заранее спасибо за помощь! |
|
|
|
|
MoPDoBoPoT |
10.5.2011, 21:52
Сообщение
#2
|
|
Участник ![]() ![]() Группа: Участник Сообщений: 172 Регистрация: 7.5.2009 Из: Москва Пользователь №: 738 Спасибо сказали: 44 раз(а) Репутация: 9
|
Список действий можно получить вызовом метода QWidget::actions(), только не забывай, что разделители тоже имеют тип QAction.
|
|
|
|
|
ruzik |
11.5.2011, 8:29
Сообщение
#3
|
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 254 Регистрация: 23.2.2011 Из: Саратов Пользователь №: 2436 Спасибо сказали: 2 раз(а) Репутация: 0
|
Спасибо за помощь и ответьте пожалуйста еще на один вопрос - у меня есть меню как удалить из него все QAction
Пробовал так: QList<QAction *> actions = menuRecent_projects->actions(); for(int a=0;a<=actions.count();a++) delete actions[a]; Так: QList<QAction *> actions = menuRecent_projects->actions(); delete actions[]; В случае нарушение прав доступа, во втором просто ошибки, не подскажите как правильно |
|
|
|
|
ruzik |
11.5.2011, 14:48
Сообщение
#4
|
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 254 Регистрация: 23.2.2011 Из: Саратов Пользователь №: 2436 Спасибо сказали: 2 раз(а) Репутация: 0
|
А вообще это правильно удалять массивы и листы так : delete[], а что-то одиночное просто delete
|
|
|
|
|
MoPDoBoPoT |
11.5.2011, 21:34
Сообщение
#5
|
|
Участник ![]() ![]() Группа: Участник Сообщений: 172 Регистрация: 7.5.2009 Из: Москва Пользователь №: 738 Спасибо сказали: 44 раз(а) Репутация: 9
|
Зачем так сложно?)
Цитата(QtAssistant) void QMenu::clear ()
Removes all the menu's actions. Actions owned by the menu and not shown in any other widget are deleted. |
|
|
|
![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 24.12.2025, 2:03 |