Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. QFtp list()
Qt 6.11 is out! See what's new in the release blog

QFtp list()

Scheduled Pinned Locked Moved Unsolved General and Desktop
30 Posts 3 Posters 21.2k 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.
  • mrjjM mrjj

    @magguz
    for each file it will send event listInfo() signal so you need to connect to that and build a string yourself if you want
    that.
    void QFtp::listInfo(const QUrlInfo & i)

    so you get a QUrlInfo pr file.
    you can ask for string with
    QString QUrlInfo::name() const

    "The listInfo() signal is emitted for each directory entry found."

    M Offline
    M Offline
    magguz
    wrote on last edited by
    #16

    @mrjj

    I have now created a second connect method and a function "addToList()" like this:

    connect(m_ftp, SIGNAL(listInfo()), this, SLOT(addToList()));
    

    and now?

    mrjjM 1 Reply Last reply
    0
    • M magguz

      @mrjj

      I have now created a second connect method and a function "addToList()" like this:

      connect(m_ftp, SIGNAL(listInfo()), this, SLOT(addToList()));
      

      and now?

      mrjjM Offline
      mrjjM Offline
      mrjj
      Lifetime Qt Champion
      wrote on last edited by
      #17

      @magguz
      HGi
      its :listInfo(const QUrlInfo & i)
      so syntax is not correct

      connect(m_ftp, SIGNAL(listInfo(const QUrlInfo &), this, SLOT(addToList(const QUrlInfo &));
      and change addToList so it takes that parameter.
      For each file it calls it
      and you can build your list or what you need.

      M 1 Reply Last reply
      0
      • mrjjM mrjj

        @magguz
        HGi
        its :listInfo(const QUrlInfo & i)
        so syntax is not correct

        connect(m_ftp, SIGNAL(listInfo(const QUrlInfo &), this, SLOT(addToList(const QUrlInfo &));
        and change addToList so it takes that parameter.
        For each file it calls it
        and you can build your list or what you need.

        M Offline
        M Offline
        magguz
        wrote on last edited by
        #18

        @mrjj said in QFtp list():

        @magguz

        and change addToList so it takes that parameter.

        how I can take the parameter into the addToList function?

        mrjjM 1 Reply Last reply
        0
        • M magguz

          @mrjj said in QFtp list():

          @magguz

          and change addToList so it takes that parameter.

          how I can take the parameter into the addToList function?

          mrjjM Offline
          mrjjM Offline
          mrjj
          Lifetime Qt Champion
          wrote on last edited by
          #19

          @magguz
          just change the addToList so it the real slot have a variable name.
          (not in the connect. they are always without names)

          void addToList(const QUrlInfo & file);

          M 1 Reply Last reply
          0
          • mrjjM mrjj

            @magguz
            just change the addToList so it the real slot have a variable name.
            (not in the connect. they are always without names)

            void addToList(const QUrlInfo & file);

            M Offline
            M Offline
            magguz
            wrote on last edited by
            #20

            @mrjj

            I changed the addToList() to addToList(const QUrlInfo & file)
            Now I get an object named "file" for every directory entry, right?

            mrjjM 1 Reply Last reply
            0
            • M magguz

              @mrjj

              I changed the addToList() to addToList(const QUrlInfo & file)
              Now I get an object named "file" for every directory entry, right?

              mrjjM Offline
              mrjjM Offline
              mrjj
              Lifetime Qt Champion
              wrote on last edited by mrjj
              #21

              @magguz
              yes you get an URL object for each file
              and the (QUrlInfo) file has a function called
              name() that returns a QString.

              http://doc.qt.io/archives/qt-4.8/qurlinfo.html

              M 1 Reply Last reply
              0
              • mrjjM mrjj

                @magguz
                yes you get an URL object for each file
                and the (QUrlInfo) file has a function called
                name() that returns a QString.

                http://doc.qt.io/archives/qt-4.8/qurlinfo.html

                M Offline
                M Offline
                magguz
                wrote on last edited by
                #22

                @mrjj

                now I want to append the strings to a textEdit like this:

                ui->textEdit->append(file.name());
                

                but it doesn't work

                mrjjM 1 Reply Last reply
                0
                • M magguz

                  @mrjj

                  now I want to append the strings to a textEdit like this:

                  ui->textEdit->append(file.name());
                  

                  but it doesn't work

                  mrjjM Offline
                  mrjjM Offline
                  mrjj
                  Lifetime Qt Champion
                  wrote on last edited by
                  #23

                  @magguz
                  in what way "doesn't work" ?
                  What does it append?
                  is the addToList called ?

                  M 1 Reply Last reply
                  0
                  • mrjjM mrjj

                    @magguz
                    in what way "doesn't work" ?
                    What does it append?
                    is the addToList called ?

                    M Offline
                    M Offline
                    magguz
                    wrote on last edited by
                    #24

                    @mrjj said in QFtp list():

                    @magguz
                    in what way "doesn't work" ?
                    What does it append?
                    is the addToList called ?

                    no it seems that addToList is not called. It appends nothing.

                    mrjjM 1 Reply Last reply
                    0
                    • M magguz

                      @mrjj said in QFtp list():

                      @magguz
                      in what way "doesn't work" ?
                      What does it append?
                      is the addToList called ?

                      no it seems that addToList is not called. It appends nothing.

                      mrjjM Offline
                      mrjjM Offline
                      mrjj
                      Lifetime Qt Champion
                      wrote on last edited by
                      #25

                      @magguz
                      well check all your connects like
                      qDebug() << "status:" << connect(xxxx); // xxxx being what u have
                      and see they return true.
                      also test that it does connect to the server. check errors and such.

                      M 1 Reply Last reply
                      1
                      • mrjjM mrjj

                        @magguz
                        well check all your connects like
                        qDebug() << "status:" << connect(xxxx); // xxxx being what u have
                        and see they return true.
                        also test that it does connect to the server. check errors and such.

                        M Offline
                        M Offline
                        magguz
                        wrote on last edited by
                        #26

                        @mrjj

                        I found what was wrong. I changed

                        ftp->login("","");
                        

                        in

                        ftp->login();
                        

                        and it works. Thanks for your help!

                        1 Reply Last reply
                        1
                        • M Offline
                          M Offline
                          magguz
                          wrote on last edited by
                          #27

                          There is still one thing: In the TextEdit he lists all entries sixteen times

                          mrjjM 1 Reply Last reply
                          0
                          • M magguz

                            There is still one thing: In the TextEdit he lists all entries sixteen times

                            mrjjM Offline
                            mrjjM Offline
                            mrjj
                            Lifetime Qt Champion
                            wrote on last edited by
                            #28

                            @magguz
                            Hi
                            well
                            what does file.name() contains ?
                            in
                            ui->textEdit->append(file.name());

                            I cant guess , please debug it using the debugger so you can see what happens.

                            M 1 Reply Last reply
                            1
                            • mrjjM mrjj

                              @magguz
                              Hi
                              well
                              what does file.name() contains ?
                              in
                              ui->textEdit->append(file.name());

                              I cant guess , please debug it using the debugger so you can see what happens.

                              M Offline
                              M Offline
                              magguz
                              wrote on last edited by
                              #29

                              @mrjj

                              I changed the connect statements like this:

                              connect(ftp, SIGNAL(listInfo(const QUrlInfo &)), this, SLOT(addToList(const QUrlInfo &)), Qt::UniqueConnection);
                              

                              I added only Qt::UniqueConnection as parameter. Now everything is fine :-)

                              mrjjM 1 Reply Last reply
                              1
                              • M magguz

                                @mrjj

                                I changed the connect statements like this:

                                connect(ftp, SIGNAL(listInfo(const QUrlInfo &)), this, SLOT(addToList(const QUrlInfo &)), Qt::UniqueConnection);
                                

                                I added only Qt::UniqueConnection as parameter. Now everything is fine :-)

                                mrjjM Offline
                                mrjjM Offline
                                mrjj
                                Lifetime Qt Champion
                                wrote on last edited by
                                #30

                                @magguz
                                Ahh, you might have added the connect many times :)
                                well UniqueConnection solves also :)

                                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