Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: очистить контекстное меню QTableWidget
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Модель/Представление
maint
имею QTableWidget, запроняю контекстное меню
        while (q.next()) {
            QAction *aRules;
            aRules = new QAction(this);
            aRules->setText(q.value(0).toString());
            connect(aRules, SIGNAL(triggered()), this, SLOT(slotRules()));
            ui->rules->addAction(aRules);
        }

возник вопрос, как этот список actions очистить? Чего то не могу сообразить
wiz29
либо куда то сохранить во временном контейнере, либо получать список действий из виджета QList<QAction *> QWidget::actions () const.
maint
Цитата(wiz29 @ 16.2.2015, 15:57) *
либо куда то сохранить во временном контейнере, либо получать список действий из виджета QList<QAction *> QWidget::actions () const.

не очень как то красивое решение. Что то мне не нравится в delete каждого действия
wiz29
Цитата(maint @ 16.2.2015, 11:36) *
Цитата(wiz29 @ 16.2.2015, 15:57) *
либо куда то сохранить во временном контейнере, либо получать список действий из виджета QList<QAction *> QWidget::actions () const.

не очень как то красивое решение. Что то мне не нравится в delete каждого действия


qDeleteAll в помощь. Красивое решения для "запихнутых" в виджет экшенов искать - сложная задача.
Litkevich Yuriy
Наследников QObject лучше удалять через deleteLater()
maint
Цитата(Litkevich Yuriy @ 17.2.2015, 22:46) *
Наследников QObject лучше удалять через deleteLater()

не дошло как это?
wiz29
вместо

delete pSomeObject;

вызывать
pSomeObject->deleteLater();

Такой подход позволяет избежать некорректного удаления объекта в цепочке обработки сообщений и их доставки.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.