Advertisement
Guest User

Untitled

a guest
May 9th, 2015
343
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.85 KB | None | 0 0
  1. DOCS.H
  2.  
  3. class Docs : public QObject
  4. {
  5.     Q_OBJECT
  6.  
  7.     Q_PROPERTY(int id READ getId WRITE setId NOTIFY idChanged)
  8.     Q_PROPERTY(QString nome READ getNome WRITE setNome NOTIFY nomeChanged)
  9.     Q_PROPERTY(QString html READ getHtml WRITE setHtml NOTIFY htmlChanged)
  10.  
  11. public:
  12.     explicit Docs(QObject *parent = 0);
  13.     explicit Docs(int id, QString nome, QString html, QObject *parent = 0);
  14.  
  15.     int getId() const;
  16.     void setId(int value);
  17.  
  18.     QString getNome() const;
  19.     void setNome(const QString &value);
  20.  
  21.     QString getHtml() const;
  22.     void setHtml(const QString &value);
  23.  
  24. signals:
  25.     void idChanged();
  26.     void nomeChanged();
  27.     void htmlChanged();
  28.  
  29. private:
  30.     int id;
  31.     QString nome;
  32.     QString html;
  33. };
  34.  
  35. DATABASE.H
  36.  
  37. #include "docs.h"
  38.  
  39. class Database : public QObject
  40. {
  41.     Q_OBJECT
  42. public:
  43.     explicit Database(QObject *parent = 0);
  44.     Q_INVOKABLE QVariant getAll();
  45.  
  46. private:
  47.     QSqlDatabase db;
  48. };
  49.  
  50. DATABASE.CPP
  51.  
  52. QVariant Database::getAll()
  53. {
  54.     QList<Docs*> docs;
  55.     if (db.open()) {
  56.         QSqlQuery qry("SELECT * FROM docs;");
  57.         if (!qry.lastError().isValid()) {
  58.             while (qry.next()) {
  59.                 docs.append(new Docs(qry.value(0).toInt(),
  60.                                      qry.value(1).toString(),
  61.                                      qry.value(2).toString()));
  62.             }
  63.         } else {
  64.             qDebug() << qry.lastError().text();
  65.         }
  66.  
  67.     } else {
  68.         qDebug() << db.lastError().text();
  69.     }
  70.  
  71.     return QVariant::fromValue(docs);
  72. }
  73.  
  74. MAIN.CPP
  75.  
  76. #include "database.h"
  77.  
  78. int main(int argc, char *argv[])
  79. {
  80.     QApplication app(argc, argv);
  81.  
  82.     Database db;
  83.  
  84.     QQmlApplicationEngine engine;
  85.     engine.rootContext()->setContextProperty("docsDb", &db);
  86.     engine.load(QUrl(QStringLiteral("qrc:/Main.qml")));
  87.  
  88.     return app.exec();
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement