Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class ScoreRecord : public QObject
- {
- Q_OBJECT
- Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged)
- Q_PROPERTY(QString date READ date WRITE setDate NOTIFY dateChanged)
- Q_PROPERTY(QString score READ score WRITE setScore NOTIFY scoreChanged)
- public:
- ScoreRecord(QObject *parent = 0);
- ScoreRecord(const QString& n, const QString &d, const QString &s, QObject *parent = 0);
- QString name() const;
- void setName(const QString &str);
- QString date() const;
- void setDate(const QString &str);
- QString score() const;
- void setScore(const QString &str);
- signals:
- void nameChanged();
- void dateChanged();
- void scoreChanged();
- public slots:
- private:
- QString m_name;
- QString m_date;
- QString m_score;
- };
- class ScoreHandler : public QObject
- {
- Q_OBJECT
- private:
- const char* SCORE_TABLE_FILENAME;
- struct scoreRow {
- char name[128];
- char date[32];
- char score[16];
- };
- public:
- explicit ScoreHandler(QObject *parent = 0);
- QList<ScoreRecord *> scoreList;
- signals:
- public slots:
- void SaveScore(const QString &name, const QString &date, const QString &score);
- void LoadScore();
- };
- int main(int argc, char *argv[])
- {
- QGuiApplication app(argc, argv);
- QtQuick2ApplicationViewer viewer;
- ScoreHandler* scoreHandler = new ScoreHandler();
- QQmlContext* ctx = viewer.rootContext();
- ctx->setContextProperty("MyScoreModel", QVariant::fromValue(scoreHandler->scoreList));
- viewer.setMainQmlFile(QStringLiteral("qml/qmlListView/main.qml"));
- viewer.showExpanded();
- return app.exec();
- }
- import QtQuick 2.0
- Rectangle {
- width: 360
- height: 360
- ListView {
- width: 100; height: 100
- anchors.fill: parent
- model: MyScoreModel
- delegate: Text {
- text: name
- }
- }
- }
- int main(int argc, char *argv[])
- {
- QGuiApplication app(argc, argv);
- QtQuick2ApplicationViewer viewer;
- ScoreHandler* scoreHandler = new ScoreHandler();
- QList<QObject *> scoreList;
- scoreList.append(new ScoreRecord("Jmeno1", "datum1", "score1"));
- scoreList.append(new ScoreRecord("Jmeno2", "datum2", "score2"));
- scoreList.append(new ScoreRecord("Jmeno3", "datum3", "score3"));
- QQmlContext* ctx = viewer.rootContext();
- ctx->setContextProperty("MyScoreModel", QVariant::fromValue(scoreList));
- viewer.setMainQmlFile(QStringLiteral("qml/qmlListView/main.qml"));
- viewer.showExpanded();
- return app.exec();
- }
- Q_PROPERTY(QQmlListProperty<ScoreRecord> scoreList READ scoreList)
- // ScoreHandler.h
- QQmlListProperty<ScoreRecord> scoreList();
- // ScoreHandler.cpp
- QQmlListProperty<ScoreRecord> ScoreHandler::scoreList()
- {
- return QQmlListProperty<ScoreRecord>(this, _scoreRecords);
- }
- ctx->setContextProperty("MyScoreModel", QVariant::fromValue(scoreHandler->scoreList));
- [{name: Jmeno1, date: datum1, score: score1},
- {name: Jmeno2, date: datum3, score: score2},
- {name: Jmeno3, date: datum3, score: score3}]
- Q_PROPERTY(QQmlListProperty<myNamespace::ScoreRecord> scoreList READ scoreList)
Add Comment
Please, Sign In to add comment