Название: Динамическое меню в дереве Отправлено: folibis от Ноябрь 25, 2011, 05:23 Есть дерево, QTreeView,по клику на элементе вызывается меню. Проблема в том что элементов несколько десятков и меню для каждого разное. в меню может быть и подменю.
Поэтому меню всякий раз создается заново Что то в этом роде: Код: //тут создается меню если делать treeMenu->clear(); перед созданием меню то это лишь очистит все actions, подменю не удалятся. Это потенциальная утечка памяти. Как поступить, не знаю Название: Re: Динамическое меню в дереве Отправлено: GreatSnake от Ноябрь 25, 2011, 07:14 Сами тролли считают свою систему меню лёгкой и не заморачиваются и создают менюхи каждый раз непосредственно перед использованием.
Чего и вам советую) Название: Re: Динамическое меню в дереве Отправлено: folibis от Ноябрь 25, 2011, 07:49 Где? Дайте пример.
Это же потенциальная утечка памяти. Название: Re: Динамическое меню в дереве Отправлено: GreatSnake от Ноябрь 25, 2011, 07:54 Создавай на стеке, либо удаляй сразу после QMenu::exec().
Название: Re: Динамическое меню в дереве Отправлено: folibis от Ноябрь 25, 2011, 12:51 Ок, нашел решение,вернее воспользовался советом GreatSnake.
Код: treeMenu->exec(ui->objectTree->viewport()->mapToGlobal(point)); Я почему то думал что exec() выполняется асинхронно |