Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Qt Creator and other tools
  4. How to disable the Strict Equality Comparison warning
Qt 6.11 is out! See what's new in the release blog

How to disable the Strict Equality Comparison warning

Scheduled Pinned Locked Moved Solved Qt Creator and other tools
16 Posts 5 Posters 3.2k 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.
  • mrjjM mrjj

    @w-tkm

    Ah that is the clang code model.
    https://doc.qt.io/qtcreator/creator-clang-codemodel.html

    You can either disable the plugin completely
    https://forum.qt.io/topic/100762/qt-creator-clang-code-model-problems-collection

    Or go to option and c++ / code model and see if you can add remove it.
    (often you can tool tip the warning and it tells what option)

    Just make a copy of current default settings then you can change it.

    Then go look
    https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html

    and see if sounds like the warning.

    alt text

    W Offline
    W Offline
    w.tkm
    wrote on last edited by
    #7

    @mrjj
    I understood well, but I couldn't find description of strict equality comparison in Warning Options.

    mrjjM 1 Reply Last reply
    0
    • W w.tkm

      @mrjj
      I understood well, but I couldn't find description of strict equality comparison in Warning Options.

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

      @w-tkm

      Hi
      Can you give me a code snippet that gives that warning ?
      Then maybe I can get hint from that ?

      W 1 Reply Last reply
      0
      • mrjjM mrjj

        @w-tkm

        Hi
        Can you give me a code snippet that gives that warning ?
        Then maybe I can get hint from that ?

        W Offline
        W Offline
        w.tkm
        wrote on last edited by w.tkm
        #9

        @mrjj
        It's an extreme example,

        property int i
        
            Component.onCompleted: {
                i = Math.floor(Math.random() * 10)
            }
        
            onClicked: {
                if( inputText.text == i ){ //M126 is shown here
                    console.log("OK")
                }
                else {
                    console.log("NO")
               }
            }
        

        I know why it's showing.

        J.HilkJ mrjjM KroMignonK 3 Replies Last reply
        0
        • W w.tkm

          @mrjj
          It's an extreme example,

          property int i
          
              Component.onCompleted: {
                  i = Math.floor(Math.random() * 10)
              }
          
              onClicked: {
                  if( inputText.text == i ){ //M126 is shown here
                      console.log("OK")
                  }
                  else {
                      console.log("NO")
                 }
              }
          

          I know why it's showing.

          J.HilkJ Offline
          J.HilkJ Offline
          J.Hilk
          Moderators
          wrote on last edited by J.Hilk
          #10

          @w-tkm why don't you do a proper comparison, instead of disabling the warnings ?

          if( parseInt(inputText.text) === i )
          //or
          if(inputText.text === i.toString())
          

          or the lazy way:

          inputText.text === "" +i
          

          Be aware of the Qt Code of Conduct, when posting : https://forum.qt.io/topic/113070/qt-code-of-conduct


          Q: What's that?
          A: It's blue light.
          Q: What does it do?
          A: It turns blue.

          1 Reply Last reply
          1
          • W w.tkm

            @mrjj
            It's an extreme example,

            property int i
            
                Component.onCompleted: {
                    i = Math.floor(Math.random() * 10)
                }
            
                onClicked: {
                    if( inputText.text == i ){ //M126 is shown here
                        console.log("OK")
                    }
                    else {
                        console.log("NO")
                   }
                }
            

            I know why it's showing.

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

            @w-tkm

            aahhh in QML :)

            I'm afraid you cannot configure it.

            W 1 Reply Last reply
            0
            • W w.tkm

              @mrjj
              It's an extreme example,

              property int i
              
                  Component.onCompleted: {
                      i = Math.floor(Math.random() * 10)
                  }
              
                  onClicked: {
                      if( inputText.text == i ){ //M126 is shown here
                          console.log("OK")
                      }
                      else {
                          console.log("NO")
                     }
                  }
              

              I know why it's showing.

              KroMignonK Offline
              KroMignonK Offline
              KroMignon
              wrote on last edited by KroMignon
              #12

              @w-tkm said in How to disable the Strict Equality Comparison warning:

              I know why it's showing.

              You could try to force int conversion:

              onClicked: {
                      if( parseInt(inputText.text, 10) === i) ){ 
                          console.log("OK")
                      }
                      else {
                          console.log("NO")
                     }
                  }
              

              Or to disable the warning:

               onClicked: {
                      // @disable-check M126
                      if( inputText.text == i ){ 
                          console.log("OK")
                      }
                      else {
                          console.log("NO")
                     }
                  }
              

              It is an old maxim of mine that when you have excluded the impossible, whatever remains, however improbable, must be the truth. (Sherlock Holmes)

              W 1 Reply Last reply
              1
              • mrjjM mrjj

                @w-tkm

                aahhh in QML :)

                I'm afraid you cannot configure it.

                W Offline
                W Offline
                w.tkm
                wrote on last edited by
                #13

                @mrjj
                Oh,sorry...I should have told you earlier...

                1 Reply Last reply
                0
                • KroMignonK KroMignon

                  @w-tkm said in How to disable the Strict Equality Comparison warning:

                  I know why it's showing.

                  You could try to force int conversion:

                  onClicked: {
                          if( parseInt(inputText.text, 10) === i) ){ 
                              console.log("OK")
                          }
                          else {
                              console.log("NO")
                         }
                      }
                  

                  Or to disable the warning:

                   onClicked: {
                          // @disable-check M126
                          if( inputText.text == i ){ 
                              console.log("OK")
                          }
                          else {
                              console.log("NO")
                         }
                      }
                  
                  W Offline
                  W Offline
                  w.tkm
                  wrote on last edited by
                  #14

                  @KroMignon
                  Thanks. I did it.
                  It seems to there is no setting in the options.

                  KroMignonK 1 Reply Last reply
                  0
                  • W w.tkm

                    @KroMignon
                    Thanks. I did it.
                    It seems to there is no setting in the options.

                    KroMignonK Offline
                    KroMignonK Offline
                    KroMignon
                    wrote on last edited by
                    #15

                    @w-tkm said in How to disable the Strict Equality Comparison warning:

                    It seems to there is no setting in the options.

                    Do mean a global disable of this warning?
                    AFAIK, there is no way to do it.
                    But warnings are there to help you the write clean QML code, as QML is a declarative language, it is hard to be sure to write a clean code, so warnings are welcome to highlight not "so clean code" ;)

                    It is an old maxim of mine that when you have excluded the impossible, whatever remains, however improbable, must be the truth. (Sherlock Holmes)

                    1 Reply Last reply
                    2
                    • Z Offline
                      Z Offline
                      zenzop
                      wrote on last edited by zenzop
                      #16

                      it worked for me, thanks a lot.. .

                      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
                      • Unsolved