Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. QML and Qt Quick
  4. How to create session and call it in QT
Forum Updated to NodeBB v4.3 + New Features

How to create session and call it in QT

Scheduled Pinned Locked Moved Unsolved QML and Qt Quick
18 Posts 3 Posters 4.4k Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • J Offline
    J Offline
    jiji
    wrote on 31 May 2017, 08:40 last edited by
    #9

    I managed to connect mongodb with QT and I recovered the data but the problem is when I closed the application the user will disconnect by default and when I open the application always the authentication interface is displayed.
    So I want to save the user data locally from mongoDB so that it remains logged in

    1 Reply Last reply
    0
    • E Offline
      E Offline
      Eddy
      wrote on 31 May 2017, 09:08 last edited by
      #10

      You could store the user data in Qsettings. When opening the db check if there is a username filled in already.
      If it is don't show the authentification display but use the credentials from Qsettings.

      Qt Certified Specialist
      www.edalsolutions.be

      1 Reply Last reply
      1
      • S Offline
        S Offline
        SGaist
        Lifetime Qt Champion
        wrote on 31 May 2017, 10:20 last edited by
        #11

        @Eddy I'd avoid plain QSettings for that, the credentials would be stored in plain text. Credentials are sensitive information that should be encrypted.

        Interested in AI ? www.idiap.ch
        Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

        1 Reply Last reply
        1
        • E Offline
          E Offline
          Eddy
          wrote on 31 May 2017, 10:32 last edited by
          #12

          @SGaist Yes, you're right, my bad.

          It depends how strict the teacher will be for this school assignment ;-)

          Qt Certified Specialist
          www.edalsolutions.be

          1 Reply Last reply
          0
          • J Offline
            J Offline
            jiji
            wrote on 31 May 2017, 11:14 last edited by
            #13

            In the main method I use : engine.load(QUrl(QStringLiteral("qrc:/qml/main.qml"))); to display the authentification. So where I should put Qsettings!!??

            1 Reply Last reply
            0
            • E Offline
              E Offline
              Eddy
              wrote on 31 May 2017, 12:05 last edited by
              #14
              In the main method I use : engine.load(QUrl(QStringLiteral("qrc:/qml/main.qml")));
              

              Thanks for letting us know you are using QML...

              Have a look at this link if you are not concerned with encryption yet.

              Qt Certified Specialist
              www.edalsolutions.be

              1 Reply Last reply
              0
              • J Offline
                J Offline
                jiji
                wrote on 31 May 2017, 12:48 last edited by
                #15

                I want to create session because I have list that I declare in the main using context property as following:
                int main(int argc, char argv[])
                {
                QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
                qputenv("QT_QUICK_CONTROLS_STYLE", "material");
                QGuiApplication app(argc, argv);
                ApplicationUI appui;
                QQmlApplicationEngine engine;
                QQmlContext
                context = engine.rootContext();
                context->setContextProperty("myApp", &appui);

                //Users list
                QList<User*> listuser;
                listuser=u.getallUser() ;
                UserEntityModel modeluser;
                for(int i =0;i<listuser.size();i++ )
                {
                QString fullname = listuser[i]->fullname();
                QString email= listuser[i]->Email();
                QString grade= listuser[i]->grade();
                QString evaluation = listuser[i]->evaluation();
                QString photo=listuser[i]->photo();
                modeluser.addUserEntity(UserEntity(fullname,email,grade,evaluation,photo));
                }
                context->setContextProperty("userModel", &modeluser);
                engine.load(QUrl(QStringLiteral("qrc:/qml/main.qml")));
                return app.exec();
                }
                For now I want to display the lists according to the logged user saved in session
                But I can't refresh the list declared in the main, and it always shows me the lists of the last connection .
                So I want to know how can refresh a list in real time.

                1 Reply Last reply
                0
                • S Offline
                  S Offline
                  SGaist
                  Lifetime Qt Champion
                  wrote on 31 May 2017, 20:23 last edited by
                  #16

                  You should implement a class that does proper user management and updates the model as needed.

                  Interested in AI ? www.idiap.ch
                  Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                  1 Reply Last reply
                  0
                  • J Offline
                    J Offline
                    jiji
                    wrote on 31 May 2017, 23:42 last edited by jiji
                    #17

                    @SGaist please can you explain to me better, I didn't understand what I should to do!!!
                    And in QML I use the list model as following:
                    ListView {
                    id: listViewuser
                    anchors.bottomMargin: -3
                    anchors.leftMargin: -18
                    anchors.topMargin: -3
                    anchors.rightMargin: 5
                    focus: true
                    clip: true
                    anchors.fill: parent
                    model:userModel
                    delegate: userComponent
                    section.property: "sortGroup"
                    section.criteria: ViewSection.FullString
                    section.delegate: stateChanged
                    }

                    1 Reply Last reply
                    0
                    • S Offline
                      S Offline
                      SGaist
                      Lifetime Qt Champion
                      wrote on 3 Jun 2017, 19:53 last edited by
                      #18

                      Since it seems that your user may change while your application is running, you should have a class which goal is to handle user management and part of its job would be to update that list.

                      Interested in AI ? www.idiap.ch
                      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                      1 Reply Last reply
                      0

                      18/18

                      3 Jun 2017, 19:53

                      • Login

                      • Login or register to search.
                      18 out of 18
                      • First post
                        18/18
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • Users
                      • Groups
                      • Search
                      • Get Qt Extensions
                      • Unsolved