我有这门课button.h
:
class Buttons : public QObject
{
Q_OBJECT
public:
Buttons();
QVector<QPushButton*> buttons;
public slots:
void getBtnInfo();
};
在 中mainwindow.cpp
,我这样连接:
Buttons mButtons;
for(int i = 0; i < mButtons.buttons.size(); i++) {
mButtons.buttons[i] = new QPushButton(mCentralWidget);
...
connect(mButtons.buttons[i], SIGNAL(clicked(bool)), &mButtons, SLOT(getBtnInfo()));
}
它运行没有任何错误;但getBtnInfo() slot
似乎什么都不做。因为我只是尝试在此插槽中进行调试,但无法正常工作。
但是,如果我这样声明getBtnInfo() slot
并mainwindow.h
连接:
connect(mButtons.buttons[i], SIGNAL(clicked(bool)), this, SLOT(getBtnInfo()));
然后它工作。
我想知道为什么?以及如何解决上述问题?
谢谢。