我做了从QLabel
继承的类。这个班也有公共插槽,应该改变标签标题。我“呼叫”这个SLOT与clicked()
信号的按钮。 当我按下按钮时没有发生任何事情。继承自QLabel的类,为什么不调用自定义槽?
#include <QApplication>
#include <QLabel>
#include <QPushButton>
class Label : public QLabel
{
public:
Label(QString a) : QLabel(a){}
public slots:
void change()
{
this->setNum(2);
}
};
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QPushButton* button = new QPushButton("Button");
Label* lbl = new Label("Label");
button->show();
lbl->show();
QObject::connect(button, SIGNAL(clicked(bool)), lbl, SLOT(change()));
return a.exec();
}
我应该怎么做来改变插槽的标题?
作为一般规则,不要在main.cpp中声明'QObject'派生类,或者如果可能的话在任何cpp中声明,这样你就必须手动包含moc文件。 – dtech