在Qt中使用c++操作符作为槽

Using c++ operators as slots in Qt

本文关键字:操作符 c++ Qt      更新时间:2023-10-16

我想知道是否有可能(以及如何)使用c++操作符,例如(),[]作为Qt插槽。

似乎编译器在抱怨这段简单的代码

class MainWindowDecorator : public QObject
{  Q_OBJECT
private:
//some variables
public slots:
    int operator[](int i)
    {
    return i;
    }
}

错误如下:

Error: Not a signal or slot declaration

您可以创建将调用专用operator的插槽包装器。

问题是moc解析器不允许该定义,可能是因为它需要一个标识符而不是关键字。