我无法将KAction连接到KMainWindow上的插槽

时间:2008-11-24 20:41:39

标签: qt connect kde

我有一个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;
    }

我可以正确编译它,但是当我执行时我得到了消息

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

有人能帮助我吗?

2 个答案:

答案 0 :(得分:2)

您忘记了Q_OBJECT宏。

class MainWindow: public KMainWindow 
{
    Q_OBJECT

public:
    // [snip]
}

答案 1 :(得分:0)

使用KXmlGuiWindow而不是KMainWindow和Q_OBJECT宏解决