I have a QVBoxLayout I want to fill with multiple QFrame objects. The QFrame objects are programmatically created and arranged based on some arbitrary selection I set up in my application. But I'm finding I'm doing something wrong with Signals and slots.
I wanted each of the QFrame objects to be generated from a common base class that looks like this:
Qt Signals and Slots. Signals and Slots provide communication between various object in your application –Often when one widget changes, you need another widget to know about it. A signal emitter and a slot receiver never need to know about each other! –Widgets emit signals whether or not any other widgets are listening.
@#ifndef CBOXBASE_H
#define CBOXBASE_H
#include <QObject>
class CboxBase : public QObject
{
Q_OBJECT
public:
explicit CboxBase(QObject *parent = 0);
virtual void hideMyFrame();
virtual void showMyFrame();
signals:
public slots:
};

#endif // CBOXBASE_H
@
I would then inherit this with something like this:
@#ifndef CBOXXFORM_H
#define CBOXXFORM_H
#include 'CboxBase.h'
#include 'CustomWidgets/nileexpander.h'
class QFrame;
class QFormLayout;
class QLabel;
class QDoubleSpinBox;
class QVBoxLayout;
class CboxXform : public CboxBase
{
private:
QFrame *m_myFrame;
QFormLayout *m_myLayout;
NileExpander *m_expander;
QLabel *m_labels[9];
QDoubleSpinBox *m_fields[9];
public:
CboxXform(QVBoxLayout *_parentLayout, int _width);
virtual void hideMyFrame();
virtual void showMyFrame();
signals:
public slots:
void vchange(double _value);
private:
void makeChannel(int _index, const QString &_label, QFont &_font);
};
#endif // CBOXXFORM_H'@

I thought I could individualize my slot calls in my derived class. But when I run, I get this warning:
Qt Signals And Slots Example
@QObject::connect: No such slot CboxBase::vchange(double) in NodeGui/CboxXform.cpp:64
QObject::connect: (sender name: 'fieldTranslatexX')@
Qt Signal Slot With 2 Arguments
So its expecting my slot call to be in the base class--which is not what I want to do because the QFrames will all be different and have different requirements. How do I fix this?