Search code examples
c++qtkde-plasma

I can't connect KAction to slot on KMainWindow


I have a KMainWindow:

//file.h
class MainWindow: public KMainWindow {
public:
    MainWindow(QWidget *parent = 0);
...
...
...

private slots:
    void removeClick();

//file.cpp
MainWindow::MainWindow(QWidget *parent) :
KMainWindow(parent) {}

void MainWindow::removeClick() 
    {
    std::cout << "Remove" << std::endl;
    }

I can compile it correctly, but when I execute the I get the message

Object::connect: No such slot KMainWindow::removeClick()

Can anybody help me?


Solution

  • You forgot the Q_OBJECT macro.

    class MainWindow: public KMainWindow 
    {
        Q_OBJECT
    
    public:
        // [snip]
    }