连接插槽和信号时的Qt转换错误

时间:2017-07-25 10:35:26

标签: c++ qt

我有一个继承自QListWidget的类Menu,我试图将这个类的信号连接到一个小部件的插槽。

class Menu : QListWidget
{
Q_OBJECT

public:
    Menu(Config &config, QWidget *parent = 0);
    ~Menu();

public slots:
    void itemChanged(QListWidgetItem *item);

signals:
    void clickedItemChanged(std::string item);

private:
    std::vector<QListWidgetItem*> items;

};

// in another widget connect the signals and slots 
connect(menu, SIGNAL(clickedItemChanged(std::string)),
        this, SLOT(menuItemChanged(std::string)));

但编译失败,说无法将'Menu'强制转换为其私有基类'const QObject'。插槽的签名与信号的签名匹配,并且插槽所属的窗口小部件类包含对Menu的引用。是什么导致了这个问题,我应该如何解决?

0 个答案:

没有答案