I'm learning some Qt, and came across the following, when trying to implement a model.
class Model : public QAbstractItemModel
{
    Q_OBJECT
public:
    Model(int rows, int columns, QObject *parent = 0);
    ~Model();
I'm not too sure what the Q_OBJECT bit means and what its function is. Can anyone help?
