我有以下课程:
class MySqlTableModel : public QSqlRelationalTableModel
{
//Q_OBJECT
public:
MySqlTableModel();
QSqlQuery add;
QSqlQuery login;
QSqlQuery logout;
void addUser(QString text);
virtual Qt::ItemFlags flags(const QModelIndex &index) const;
bool adding = false;
public slots:
void loginSlot();
void logoutSlot();
};
源自QSqlRelationalTableModel
。我想使用一些额外的插槽。我的问题是,如果我对Q_OBJECT
标记进行评论,则无法识别插槽,也无法连接(QObject::connect: No such slot QSqlRelationalTableModel::MySqlTableModel::loginSlot()
)。但是,如果我添加Q_OBJECT
标记,则会收到错误:/mysqltablemodel.cpp:5: error: undefined reference to vtable for MySqlTableModel'
,标记我的构造函数:
MySqlTableModel::MySqlTableModel()
{
}
[编辑] 运行qmake解决了编译错误,但是连接仍然无法正常工作。我在这里做错了吗? 谢谢!