Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Qt Creator and other tools
  4. How to disable the Strict Equality Comparison warning
Forum Updated to NodeBB v4.3 + New Features

How to disable the Strict Equality Comparison warning

Scheduled Pinned Locked Moved Solved Qt Creator and other tools
16 Posts 5 Posters 1.7k 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 Extensions
                      • Unsolved