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
Qt 6.11 is out! See what's new in the release blog

How to create session and call it in QT

Scheduled Pinned Locked Moved Unsolved QML and Qt Quick
18 Posts 3 Posters 7.1k 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.
  • EddyE Offline
    EddyE Offline
    Eddy
    wrote on last edited by
    #8

    Hi,

    This topic might have links to sample code you need.

    You could also search for other posts of course.

    Qt Certified Specialist
    www.edalsolutions.be

    1 Reply Last reply
    1
    • J Offline
      J Offline
      jiji
      wrote on 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
      • EddyE Offline
        EddyE Offline
        Eddy
        wrote on 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
        • SGaistS Offline
          SGaistS Offline
          SGaist
          Lifetime Qt Champion
          wrote on 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
          • EddyE Offline
            EddyE Offline
            Eddy
            wrote on 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 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
              • EddyE Offline
                EddyE Offline
                Eddy
                wrote on 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 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
                  • SGaistS Offline
                    SGaistS Offline
                    SGaist
                    Lifetime Qt Champion
                    wrote on 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 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
                      • SGaistS Offline
                        SGaistS Offline
                        SGaist
                        Lifetime Qt Champion
                        wrote on 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

                        • Login

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