Qt4 QMenu сортировка предметов - PullRequest
5 голосов
/ 17 июля 2009

Я использую QT4 и динамически добавляю записи в QMenu. Можно ли отсортировать записи в QMenu, не удаляя его и не создавая новый?

Первоначально я думал, что есть функция для вставки в определенном месте, чтобы я мог сортировать по вставке, но я не смог ее найти.

Ответы [ 2 ]

6 голосов
/ 17 июля 2009

После добавления я не думаю, что вы можете изменить порядок. Хотя при создании вы можете использовать метод QWidget :: insertAction , чтобы разместить его именно там, где вам нужно.

void QWidget::insertAction ( QAction * before, QAction * action )

В противном случае вы можете использовать QWidget :: addActions . Создайте свой список действий и отсортируйте его перед добавлением в QMenu.

void QWidget::addActions ( QList<QAction *> actions )
1 голос
/ 25 августа 2009

В одном из моих кодов я сохраняю QActions в отдельный список и генерирую меню и подменю по запросу. Теоретически я могу добавить «вес» к предметам и переупорядочить их, но я этого еще не реализовал.

Страница проекта доступна здесь: http://code.google.com/p/qtedit4/wiki/qmdilib

Обратите внимание, что действия QWidget QMenu ) сохраняются как QList , который можно "прочитать", используя QWidget: : действия () . Помните, что список скопирован, поэтому вы можете изменять действия, но не сам список. (Надеюсь, я не ошибаюсь ...)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...