我有一个继承自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
的引用。是什么导致了这个问题,我应该如何解决?