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. Problem with QMap
Forum Updated to NodeBB v4.3 + New Features

Problem with QMap

Scheduled Pinned Locked Moved Solved General and Desktop
qmap
15 Posts 3 Posters 6.0k 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.
  • C cristiano.narcisi
    25 May 2016, 13:13

    Ok. But what does it happen when the function is contains(..key..)?

    M Offline
    M Offline
    mrjj
    Lifetime Qt Champion
    wrote on 25 May 2016, 13:14 last edited by
    #6

    @cristiano.narcisi
    it looks like outside of constructor the key list is no more.
    i wanted to see if it says
    zero for par.

    C 1 Reply Last reply 25 May 2016, 13:22
    1
    • M mrjj
      25 May 2016, 13:14

      @cristiano.narcisi
      it looks like outside of constructor the key list is no more.
      i wanted to see if it says
      zero for par.

      C Offline
      C Offline
      cristiano.narcisi
      wrote on 25 May 2016, 13:22 last edited by
      #7

      @mrjj

      Ok but it is very strange. I give you another information: i can view all the key-value pair stored into the par variable using the watches of the editor!!!!

      M 1 Reply Last reply 25 May 2016, 13:30
      1
      • C cristiano.narcisi
        25 May 2016, 13:22

        @mrjj

        Ok but it is very strange. I give you another information: i can view all the key-value pair stored into the par variable using the watches of the editor!!!!

        M Offline
        M Offline
        mrjj
        Lifetime Qt Champion
        wrote on 25 May 2016, 13:30 last edited by
        #8

        @cristiano.narcisi
        OK ?!?! That also pretty strange.

        what about size inside and out?

        C 1 Reply Last reply 25 May 2016, 13:38
        0
        • M mrjj
          25 May 2016, 13:30

          @cristiano.narcisi
          OK ?!?! That also pretty strange.

          what about size inside and out?

          C Offline
          C Offline
          cristiano.narcisi
          wrote on 25 May 2016, 13:38 last edited by
          #9

          @mrjj

          Size outside the ctor is correct. It is 5!!!

          M 1 Reply Last reply 25 May 2016, 13:46
          1
          • C Offline
            C Offline
            cristiano.narcisi
            wrote on 25 May 2016, 13:45 last edited by
            #10

            Using the iteartor i can view all the values stored in the QMap .... Probably i don't understand something of very important about how QMap acceses the data.
            //your code here

             QMap<const char *, QString>::ConstIterator ii;
             for( ii = par.constBegin(); ii != par.constEnd(); ++ii )
               qDebug() << ii.key() << " = " << ii.value();```
            
            1 Reply Last reply
            0
            • C cristiano.narcisi
              25 May 2016, 13:38

              @mrjj

              Size outside the ctor is correct. It is 5!!!

              M Offline
              M Offline
              mrjj
              Lifetime Qt Champion
              wrote on 25 May 2016, 13:46 last edited by
              #11

              @cristiano.narcisi
              ok ?!?

              I think you should try dump the list using par to see if key corruption
              else there is no reason contains should not work.

              C 1 Reply Last reply 25 May 2016, 14:18
              0
              • M mrjj
                25 May 2016, 13:46

                @cristiano.narcisi
                ok ?!?

                I think you should try dump the list using par to see if key corruption
                else there is no reason contains should not work.

                C Offline
                C Offline
                cristiano.narcisi
                wrote on 25 May 2016, 14:18 last edited by
                #12

                @mrjj

                Probably i have understood why i can retry the key. The problem is that i am using

                QMap< const char *, QString> 
                

                This means that the key is a POINTER and not the text !!!

                I have replaced the QMap template with

                QMap< QString, QString>
                

                Now the key is an ITEM and not a POINTER and i can find all the keys and the value stored within the QMap.

                Sorry for bothering you

                Thanks for hepling me

                Regards

                Cristiano Narcisi

                M 1 Reply Last reply 25 May 2016, 18:31
                2
                • M mrjj
                  25 May 2016, 12:46

                  @cristiano.narcisi said:

                  QMap

                  Hi
                  can you show the cpp of the constructor also?
                  How you add the items.

                  Inheriting from Qmap is a bit funky for me as with STL that was normally
                  not super idea. but i dont know with QList. :)

                  K Offline
                  K Offline
                  kshegunov
                  Moderators
                  wrote on 25 May 2016, 17:22 last edited by
                  #13

                  @mrjj

                  Inheriting from Qmap is a bit funky

                  It's specially noted in the docs that deriving from a container specialization is not recommended. That's probably what seems funky ;)

                  Read and abide by the Qt Code of Conduct

                  1 Reply Last reply
                  1
                  • C cristiano.narcisi
                    25 May 2016, 14:18

                    @mrjj

                    Probably i have understood why i can retry the key. The problem is that i am using

                    QMap< const char *, QString> 
                    

                    This means that the key is a POINTER and not the text !!!

                    I have replaced the QMap template with

                    QMap< QString, QString>
                    

                    Now the key is an ITEM and not a POINTER and i can find all the keys and the value stored within the QMap.

                    Sorry for bothering you

                    Thanks for hepling me

                    Regards

                    Cristiano Narcisi

                    M Offline
                    M Offline
                    mrjj
                    Lifetime Qt Champion
                    wrote on 25 May 2016, 18:31 last edited by
                    #14

                    @cristiano.narcisi
                    ok so
                    #define MAC_KEY "mac"
                    used as key did funky stuff?

                    good found :)

                    K 1 Reply Last reply 25 May 2016, 18:43
                    0
                    • M mrjj
                      25 May 2016, 18:31

                      @cristiano.narcisi
                      ok so
                      #define MAC_KEY "mac"
                      used as key did funky stuff?

                      good found :)

                      K Offline
                      K Offline
                      kshegunov
                      Moderators
                      wrote on 25 May 2016, 18:43 last edited by
                      #15

                      @mrjj said:

                      used as key did funky stuff?

                      The only funky stuff with that macro is that char * doesn't have a meaningful operator <, which is required for it to be a key in the map. The comparison is done as you'd compare integers.

                      Read and abide by the Qt Code of Conduct

                      1 Reply Last reply
                      1

                      15/15

                      25 May 2016, 18:43

                      • Login

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