我在QListWidget
中连接自定义菜单时出现问题,connect函数返回false。这是代码:
我有一个名为MainWindow
的主窗口类。在它的构造函数中,我有这一行
connect(ui->notesWidget, SIGNAL(customContextMenuRequested(QPoint &)),
this, SLOT(contextMenuforNotesArea(QPoint &)));
其中提到notesWidget
QListWidget
。
ContextMenuforNotesArea(QPoint &)
定义如下
class MainWindow : public QMainWindow
{
public slots:
void contextMenuforNotesArea(QPoint &pos);
};
void MainWindow::contextMenuforNotesArea(const QPoint &pos){
QMessageBox::information(this, "a", "the function has been finally called");
QMenu contextMenu(tr("Context menu"), this);
contextMenu.addAction(new QAction(tr("Hello"), this));
contextMenu.exec(mapToGlobal(pos));
}
我还通过表单设计器将contextMenu
中的属性listWidget
更改为customContextMenu
。
答案 0 :(得分:0)
在头文件
中更改您的SLOT签名,如下所示void contextMenuforNotesArea(const QPoint &pos);
还要确保在构造函数中进行连接时,在调用setupUi
之后执行此操作