Доброго времени суток!Есть меню из нескольких пунктов, действия к-ых связаны с treewidget. В зависимости от того на каком из item в treewidget мы находимся, нужно скрывать или отображать отдельные пункты меню. Как это реализовать?
Код приблизительно такой ..
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
ui->treeWidget->setContextMenuPolicy(Qt::ActionsContextMenu);
/*создаём действие и пункт меню*/
QAction * DeleteTask = new QAction(this);
DeleteTask->setText("Delete Task");
DeleteTask->setIcon(QIcon("img/del.png"));
/*связываем сигнал со слотом*/
connect(DeleteTask,SIGNAL(triggered()),this,SLOT (deleteRoot()));
QAction * rootItem2 = new QAction(this);
rootItem2->setText("Add");
rootItem2->setIcon(QIcon("img/add.png"));
/*создаю пунк меню c подменю*/
QMenu * rootMenu = new QMenu(this);
rootItem2->setMenu(rootMenu);
QAction * submenu_0 = new QAction(this);
submenu_0->setText("0");
connect(submenu_0,SIGNAL(triggered()),this, SLOT (create_0()));
QAction * submenu_1 = new QAction(this);
submenu_1->setText("1");
connect(submenu_1,SIGNAL(triggered()),this, SLOT (create_1()));
QAction * submenu_2 = new QAction(this);
submenu_2->setText("2");
connect(submenu_2,SIGNAL(triggered()),this, SLOT (create2()));
rootMenu->addAction(submenu_0);
rootMenu->addAction(submenu_1);
rootMenu->addAction(submenu_2);
ui->treeWidget->addAction(DeleteTask);
ui->treeWidget->addAction(rootItem2);
}
void MainWindow::on_treeWidget_itemPressed(QTreeWidgetItem *item, int column)
{
//по нажатию на item будет условие при к-ом отображу пункт
QAction * m_select = new QAction(this);
m_select->setText("Select");
m_select->setIcon(QIcon("img.png"));
connect(m_select,SIGNAL(triggered()),this,SLOT(showM()));
ui->treeWidget->addAction(m_select);
}
Заранее спасибо