Создание вложенного действия QAction |
Здравствуйте, гость ( Вход | Регистрация )
Создание вложенного действия QAction |
Litkevich Yuriy |
31.7.2010, 18:42
Сообщение
#1
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Не могу понять как создать вложенное действие (подменю)
Есть указатель на QAction, например: Нужно что бы функция сделала, для входного "действия" выпадающее меню с пунктом newaction и вернула указатель на "действие" ассоциированное с этим пунктом.Схема меню: пункт1 пункт2 action.text() > newaction пункт3 где: action.text() - существующий пункт меню, к которому требуется добавить подменю newaction - вновь созданный пункт подменю |
|
|
Алексей1153 |
31.7.2010, 18:59
Сообщение
#2
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
А вот это разве не оно ?
Цитата QMenu * QAction::menu () const Returns the menu contained by this action. Actions that contain menus can be used to create menu items with submenus, or inserted into toolbars to create buttons with popup menus. See also setMenu() and QMenu::addAction(). + Цитата QAction * QMenu::addAction ( const QString & text ) This is an overloaded function. This convenience function creates a new action with text. The function adds the newly created action to the menu's list of actions, and returns it.
Причина редактирования: Используй теги по назначению
|
|
|
Litkevich Yuriy |
31.7.2010, 19:17
Сообщение
#3
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
И?
|
|
|
Алексей1153 |
31.7.2010, 19:20
Сообщение
#4
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
А что И )
(но не проверял) Сообщение отредактировал Алексей1153 - 31.7.2010, 19:22 |
|
|
Litkevich Yuriy |
31.7.2010, 19:37
Сообщение
#5
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
это ты просто создаёшь новый пункт в меню, а мне нужно вложенное меню создать.
Здаётся мне, что в Qt это очередная не решаемая задача, среди, казалось бы, простейших |
|
|
Алексей1153 |
31.7.2010, 20:18
Сообщение
#6
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
Ещё мысль (по аналогии с тем, как это делается в WinAPI)
создать объект QMenu, вставить в него пункты, а затем присобачить это меню к действию методом
И это действие добавить как очередной пункт родительского меню Собственно, что и требовалось доказать
(блин, не пойму, как картинку вставить в пост) Сообщение отредактировал Алексей1153 - 31.7.2010, 20:27
Прикрепленные файлы
|
|
|
Litkevich Yuriy |
31.7.2010, 20:42
Сообщение
#7
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
Алексей1153 |
31.7.2010, 20:48
Сообщение
#8
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
со ссылками приятнее работать , точка меньше загромождает код, чем стрелка А так разницы нет
|
|
|
Litkevich Yuriy |
31.7.2010, 20:52
Сообщение
#9
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
И это действие добавить как очередной пункт родительского меню пункт уже есть. Схема меню:Было: пункт1 пункт2 action.text() пункт3 Стало: пункт1 пункт2 action.text() > newaction пункт3 со ссылками приятнее работать , точка меньше загромождает код ничуть, напиши тоже самое в более естественной форме и сравни.
|
|
|
Алексей1153 |
31.7.2010, 20:54
Сообщение
#10
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
Ну так ведь доступ к action есть ?
Или я что-то не понимаю... |
|
|
Текстовая версия | Сейчас: 30.11.2024, 5:22 |