Я не могу подключить KAction к слоту на KMainWindow

StackOverflow https://stackoverflow.com/questions/315393

  •  10-07-2019
  •  | 
  •  

Вопрос

У меня есть 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()

Кто-нибудь может мне помочь?

Это было полезно?

Решение

Вы забыли макрос Q_OBJECT.

class MainWindow: public KMainWindow 
{
    Q_OBJECT

public:
    // [snip]
}

Другие советы

решено с помощью KXmlGuiWindow вместо KMainWindow и макроса Q_OBJECT

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top