Qt连接lambda

时间:2015-04-04 23:00:04

标签: c++ qt lambda

您好我正在尝试使用QMainWindow构造中的lambda连接到我的QFrame组件,但是我收到错误

  

Qwidget :: mousePressEvent,无法访问声明的受保护成员   class'QWidget'

这是我的代码

QtTestWindow::QtTestWindow(QWidget *parent):QMainWindow(parent)
{

connect( ui.TopFrame, &QFrame::mousePressEvent, [=]
{

});
ui.setupUi( this );

}

1 个答案:

答案 0 :(得分:3)

QFrame类范围QWidget和函数签名是

  

void QWidget :: mousePressEvent(QMouseEvent * event)[虚拟保护]

换句话说,这不是一个信号,你无法做你正在尝试的事情。

为了完整性,这里是信号的记录签名

  

void QWidget :: customContextMenuRequested(const QPoint& pos)[signal]