一、设置控件
在对应控件的属性中,将contextMenuPolicy设置为CustomContextMenu。
二、添加槽函数
在对应控件上右键选择槽函数customContextMenuRequested(QPoint)。
三、在槽函数中添加右键菜单
在槽函数中输入如下代码,添加右键菜单。
//右键菜单
void MainWindow::on_stackedWidget_customContextMenuRequested(const QPoint &pos)
{QMenu * menu = new QMenu(this);QAction *action = new QAction;action->setText(("适应窗口宽度"));connect(action, SIGNAL(triggered(bool)), this, SLOT(PageZoomToWidth()));menu->addAction(action);menu->exec(QCursor::pos());
}
通过connect函数链接右键的处理函数,如下图所示。
//恢复到合适大小
void MainWindow::PageZoomToWidth()
{//*******************文件打开状态才响应*******************if (!pdf->hasOpenDocument()) {return;}pdf->zoomCentered(XpdfWidget::zoomToWidth);
}
四、头文件的处理
右键的处理函数需要作为slots,在头文件中定义