QT-右键菜单
#The QMenu class provides a menu widget for use in menu bars, context menus, and other popup menus.
支持类 QMenu,可以查帮助了解详细
注意:tableview 的右键菜单策略,选择的custom那个,
m_tableview->setContextMenuPolicy(Qt::CustomContextMenu);
void UCommWidgetTool::AddMenuItem(QMenu* menu, const QString& menuText, QObject *obj, const char* slotFunc, const QString& iconSrc)
{
QAction *action = new QAction(menuText, menu);
action->setIcon(QIcon(iconSrc));
menu->addAction(action);
QObject::connect(action, SIGNAL(triggered()), obj, slotFunc);
}
调用
void Page::Init()
{
connect(m_tableView, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(OnContextMenu(const QPoint&)));
}
void Page::OnContextMenu(const QPoint& point)
{
QMenu popMenu;
UCommWidgetTool::AddMenuItem(&popMenu, tr("Print"), this, SLOT(OnPrintReport()), ":/history/Images/printer.png");
//popMenu.addSeparator(); //多个菜单间隔
popMenu.exec(QCursor::pos());
}