代码拉取完成,页面将自动刷新
#ifndef MYMODEL_H
#define MYMODEL_H
#include <QModelIndex>
#include <QObject>
#include <qdebug.h>
#include <qsqldatabase.h>
#include <qsqlerror.h>
#include <qsqlquery.h>
#include <qsqlrecord.h>
#include <qsqltablemodel.h>
// 在 Qsqltablemodel中可以`直接使用 槽函数 submitAll()
class MyModel : public QSqlTableModel
{
Q_OBJECT
Q_PROPERTY(QString tableName READ getTableName WRITE setTableName NOTIFY tableNameChanged)
Q_PROPERTY(bool isView READ getisView WRITE setisView NOTIFY isViewChanged)
public:
enum class MemberRole { type = Qt::UserRole + 1, name, access };
enum class FunctionRole { values = Qt::UserRole + 1, name, args, access };
enum class UsingRole { Function, Member };
explicit MyModel(QObject *parent = nullptr,QSqlDatabase database=QSqlDatabase());
QVariant data(const QModelIndex &index, int role) const override;
bool setData(const QModelIndex &index, const QVariant &value, int role) override;
//设置职责 即 对应的行号
virtual QHash<int, QByteArray> roleNames() const override;
Q_INVOKABLE void setTableName(QString name)
{
if (tableName != name) {
tableName = std::move(name);
emit tableNameChanged(tableName);
}
}
Q_INVOKABLE QString getTableName() const { return this->tableName; }
bool getisView() const;
Q_INVOKABLE void setisView(bool value);
signals:
void tableNameChanged(const QString &name);
void isViewChanged(const bool isplay);
public slots:
void initHeader(); //与tableNameChanged的槽函数
protected:
QString tableName="";
bool isView=true;
};
#endif // MYMODEL_H
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。