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

问题描述 投票:0回答:2

我有一个 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()

有人可以帮助我吗?

c++ qt kde-plasma
2个回答
2
投票

您忘记了 Q_OBJECT 宏。

class MainWindow: public KMainWindow 
{
    Q_OBJECT

public:
    // [snip]
}

0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.