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 getting the application dir in QML file
Forum Updated to NodeBB v4.3 + New Features

How to getting the application dir in QML file

Scheduled Pinned Locked Moved QML and Qt Quick
12 Posts 7 Posters 14.9k Views 1 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.
  • p3c0P Offline
    p3c0P Offline
    p3c0
    Moderators
    wrote on last edited by
    #2

    Hi,

    Check "resolvedUrl":http://qt-project.org/doc/qt-5/qml-qtqml-qt.html#resolvedUrl-method if its useful.
    To get current directory try,
    @
    Qt.resolvedUrl(".")
    @

    157

    1 Reply Last reply
    1
    • L Offline
      L Offline
      lygstate
      wrote on last edited by
      #3

      I hope this works, but the fact is that didn't satisfy my requirement
      source: {
      console.log(Qt.resolvedUrl("./../"))
      return "D:/CI/AVA/PedestrianV2/data/subway.avi"
      }

      1 Reply Last reply
      0
      • p3c0P Offline
        p3c0P Offline
        p3c0
        Moderators
        wrote on last edited by
        #4

        Sorry but can you make more clear how you want the path ?

        157

        1 Reply Last reply
        0
        • L Offline
          L Offline
          lygstate
          wrote on last edited by
          #5

          sorry for unclear statement, I checked the result ofQt.resolvedUrl("."), Its give s me qrc:/// and that's not I wanted, I want the absolute path of the application's executable file's containing directory. such as
          @D:/path/to/demo.exe @
          then I am looking for
          @D:/path/to/@

          1 Reply Last reply
          0
          • p3c0P Offline
            p3c0P Offline
            p3c0
            Moderators
            wrote on last edited by
            #6

            Hi,

            @lygstate, have you included the QML file in the qrc ?

            157

            1 Reply Last reply
            0
            • L Offline
              L Offline
              lygstate
              wrote on last edited by
              #7

              Yes, you are right, i included it in qrc file,

              1 Reply Last reply
              0
              • EddyE Offline
                EddyE Offline
                Eddy
                wrote on last edited by
                #8

                Try

                @QDir::currentpath()@

                And pass the result to your qml file

                Qt Certified Specialist
                www.edalsolutions.be

                1 Reply Last reply
                0
                • A Offline
                  A Offline
                  aabc
                  wrote on last edited by
                  #9

                  I also using the C++ and I believe the performance is better

                  1 Reply Last reply
                  0
                  • C Offline
                    C Offline
                    chrisadams
                    wrote on last edited by
                    #10

                    You can use the baseUrl() reported by the engine.

                    1 Reply Last reply
                    0
                    • N Offline
                      N Offline
                      NapoLion
                      wrote on last edited by
                      #11

                      Hello!
                      I know its an old post, but I came across and didn't find what I was looking for so I solved it like this:

                      In your main.cpp add one new context property to your engine like this:

                      engine.rootContext()->setContextProperty("CurDirPath", QString(QDir::currentPath()));
                      

                      Than use it on your Qml side like:

                      Component.onCompleted: {
                          console.log("Your current dir path: " + CurDirPath)
                      }
                      

                      Hope it helps for future visitors.

                      JonBJ 1 Reply Last reply
                      3
                      • N NapoLion

                        Hello!
                        I know its an old post, but I came across and didn't find what I was looking for so I solved it like this:

                        In your main.cpp add one new context property to your engine like this:

                        engine.rootContext()->setContextProperty("CurDirPath", QString(QDir::currentPath()));
                        

                        Than use it on your Qml side like:

                        Component.onCompleted: {
                            console.log("Your current dir path: " + CurDirPath)
                        }
                        

                        Hope it helps for future visitors.

                        JonBJ Offline
                        JonBJ Offline
                        JonB
                        wrote on last edited by JonB
                        #12

                        @NapoLion
                        For anyone reading this: the question title asked for "application dir ". All solutions using QDir::currentPath(), or for that matter QDir(), do not return that, they return the process's current/working directory

                        Depending on what .is meant by "the application dir", you may want QCoreApplication::applicationDirPath() or even QFileInfo(argv[0]).dir().absolutePath(), but I don't know how those fare with a QML application.

                        1 Reply Last reply
                        3

                        • Login

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