Здравствуйте, гость ( Вход | Регистрация )
|
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, 21:44
Сообщение
#2
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2946 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34
|
Цитата(Litkevich Yuriy @ 1.8.2010, 0:27) Link поидее и QMenu имеет ассоциированный с ним QAction, и является визуальным контейнером QAction'ов. И пункт на панели меню - тоже QAction. Т.е. QAction всему голова. Однако иерархию построить невозможно. Ну почему же невозможно, всё вроде стройно: ассоциированный с ним QAction - это собственник этого QMenu , и он (этот ваще-основной QAction) никогда не будет вызван То есть, схематично будет как-то так: А почему QAction вдруг не полноценный класс ? )) Из исходников Qt: Цитата "Правка/Копировать" "Правка/Вставить" "Настройки/Модули/Редактор" ....они просят главное окно создать цепочку пунктов меню. Если часть цепочки существует, то туда просто, что-то добавляется. То есть, из текстового описания меню нужно создать свой объект меню с этими пунктами, так ? Сообщение отредактировал Алексей1153 - 31.7.2010, 21:41 |
|
|
|
Litkevich Yuriy Создание вложенного действия QAction 31.7.2010, 18:42
Алексей1153 А вот это разве не оно ?
ЦитатаQMenu * QAction::me... 31.7.2010, 18:59
Litkevich Yuriy И? 31.7.2010, 19:17
Алексей1153 А что И )
QAction *createSubAction(const QActi... 31.7.2010, 19:20
Litkevich Yuriy это ты просто создаёшь новый пункт в меню, а мне н... 31.7.2010, 19:37
Алексей1153 Ещё мысль (по аналогии с тем, как это делается в W... 31.7.2010, 20:18
Litkevich Yuriy Цитата(Алексей1153 @ 1.8.2010, 0:18) QMen... 31.7.2010, 20:42
Алексей1153 со ссылками приятнее работать , точка меньше загро... 31.7.2010, 20:48
Litkevich Yuriy Цитата(Алексей1153 @ 1.8.2010, 0:18) И эт... 31.7.2010, 20:52
Алексей1153 Ну так ведь доступ к action есть ?
пункт1
пункт2
a... 31.7.2010, 20:54
DEADHUNT а почему подменю нельзя так добавить QMenu::addMen... 31.7.2010, 21:08
Litkevich Yuriy Цитата(Алексей1153 @ 1.8.2010, 0:18) void... 31.7.2010, 21:10
DEADHUNT Цитата(Litkevich Yuriy @ 31.7.2010, 22:10... 31.7.2010, 21:15
Алексей1153 Цитата(DEADHUNT @ 1.8.2010, 0:08) а почем... 31.7.2010, 21:16
Litkevich Yuriy Цитата(DEADHUNT @ 1.8.2010, 1:15) значит ... 31.7.2010, 21:27
DEADHUNT Цитата(Litkevich Yuriy @ 31.7.2010, 22:27... 31.7.2010, 21:39
Litkevich Yuriy Цитата(Алексей1153 @ 1.8.2010, 1:44) А по... 31.7.2010, 21:55
Алексей1153 void setSubActon(QAction *) - Скорее должно бы выг... 31.7.2010, 22:21
DEADHUNT Цитата(Алексей1153 @ 31.7.2010, 23:21) Ес... 31.7.2010, 22:24
Алексей1153 DEADHUNT, ну это уже не суть важно. А чем быстрее ... 31.7.2010, 22:25
DEADHUNT а что хэш таблица медленнее идеально сбалансирован... 31.7.2010, 22:29
Алексей1153 При таком небольшом размере списка - сомневаюсь Х... 31.7.2010, 22:32
DEADHUNT вычисление хэша наверняка не будет выполняться дол... 31.7.2010, 22:36
Алексей1153 DEADHUNT, обрати внимание на количество элементов ... 31.7.2010, 22:41
Litkevich Yuriy Накидал класс YAction, наследник QAction поддержив... 31.7.2010, 23:39
Litkevich Yuriy Сообщение переместил сюда: Секреты и интересные во... 1.8.2010, 12:30
Алексей1153 Хм, надо тогда более детально протестировать будет 1.8.2010, 17:08
Litkevich Yuriy копилку эту разобрать бы, да в вики перенести. Да ... 1.8.2010, 17:18![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 16.12.2025, 15:04 |