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. QPushButton set checked causes program to crash
Forum Updated to NodeBB v4.3 + New Features

QPushButton set checked causes program to crash

Scheduled Pinned Locked Moved Unsolved General and Desktop
19 Posts 2 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.
  • Q Qtstarter121

    @mrjj I actually had this beforehand where it was a local variable but it is a class pointer in my code right now.

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

    @Qtstarter121
    Ok, i cant guess. But i promise you it wont crash from setChecked
    so its an actual code bug.

    Without debugger life will be really hard.

    what do u do in on_button1_clicked ?

    Q 1 Reply Last reply
    0
    • mrjjM mrjj

      @Qtstarter121
      Ok, i cant guess. But i promise you it wont crash from setChecked
      so its an actual code bug.

      Without debugger life will be really hard.

      what do u do in on_button1_clicked ?

      Q Offline
      Q Offline
      Qtstarter121
      wrote on last edited by Qtstarter121
      #9

      @mrjj Fair enough. I agree actually that setChecked shouldn't be my issue and that it's likely something else I've done. I'm not sure if it's worth mentioning, but prior to my new button initialization and slot connection, I do the following:

      QMetaObject::connectSlotsByName(this);
      

      and I see this in my output log : No matching signal for on_button1_clicked()

      To answer your question, my slot currently does this:

      void MyClass:on_button1_clicked(bool checked)
      {
         if (checked)
            cButton->setText("ENABLED");
         else
            cButton->setText("DISABLED");
      
         SetWidgetProperty(dynamic_cast<QWidget*>(cButton), "highlighted", checked);
      
      }
      
      1 Reply Last reply
      0
      • mrjjM Offline
        mrjjM Offline
        mrjj
        Lifetime Qt Champion
        wrote on last edited by
        #10

        hi
        do
        SetWidgetProperty
        called setChecked ?
        if that triggers clicked(bool) u get infinite calls.

        Q 1 Reply Last reply
        0
        • mrjjM mrjj

          hi
          do
          SetWidgetProperty
          called setChecked ?
          if that triggers clicked(bool) u get infinite calls.

          Q Offline
          Q Offline
          Qtstarter121
          wrote on last edited by
          #11

          @mrjj The thing is, If I do this:

           cButton->setChecked(true);
          //on_button1_clicked(true); 
          

          I still get the same crash. Which tells me on_button1_clicked(bool) is irrelevant. Right?

          mrjjM 1 Reply Last reply
          0
          • Q Qtstarter121

            @mrjj The thing is, If I do this:

             cButton->setChecked(true);
            //on_button1_clicked(true); 
            

            I still get the same crash. Which tells me on_button1_clicked(bool) is irrelevant. Right?

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

            @Qtstarter121
            yeah, seems so.
            so it seems to crash on ?
            cButton->setChecked(true);
            since you dont have debugger
            use qDebug

            qDebug() << "before";
            cButton->setChecked(true);
            qDebug() << "after";

            to fidn WHAT makes it crash

            1 Reply Last reply
            0
            • Q Offline
              Q Offline
              Qtstarter121
              wrote on last edited by
              #13

              Hold on I might be wrong about that. Let me try something and get back to you.

              mrjjM 1 Reply Last reply
              0
              • Q Qtstarter121

                Hold on I might be wrong about that. Let me try something and get back to you.

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

                @Qtstarter121
                You really should install debugger. :)
                Its ment to find stuff like this :)

                Q 1 Reply Last reply
                1
                • Q Offline
                  Q Offline
                  Qtstarter121
                  wrote on last edited by
                  #15

                  Okay so it looks like i am having an off-day because I just found out the source of my problem.
                  Turns out the issue was with code in the slot ( not Qt stuff but c++ using a proprietary framework) I neglected to post which was using an uninitialized variable. facepalm

                  I neglected to include it because I wrongly assumed the code wasn't relevant.

                  Sorry for wasting your time and thanks for the help.

                  1 Reply Last reply
                  0
                  • mrjjM mrjj

                    @Qtstarter121
                    You really should install debugger. :)
                    Its ment to find stuff like this :)

                    Q Offline
                    Q Offline
                    Qtstarter121
                    wrote on last edited by
                    #16

                    @mrjj I actually do have a debugger available and installed. The problem is that the way my program is launched, i'm not sure how I can run it with gdb. if I attempt a command such as " gdb < my usual program launch command>
                    I get an error like this: not in executable format: File format not recognized

                    However I can attach a debugger once my process is running via gdb attach < pid > but in this case the issue was in my constructor so that would run immediately and no time to attach the debugger to catch the crash issue so print statements are my only option.

                    mrjjM 1 Reply Last reply
                    0
                    • Q Qtstarter121

                      @mrjj I actually do have a debugger available and installed. The problem is that the way my program is launched, i'm not sure how I can run it with gdb. if I attempt a command such as " gdb < my usual program launch command>
                      I get an error like this: not in executable format: File format not recognized

                      However I can attach a debugger once my process is running via gdb attach < pid > but in this case the issue was in my constructor so that would run immediately and no time to attach the debugger to catch the crash issue so print statements are my only option.

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

                      @Qtstarter121
                      You are not using Creator?

                      Q 1 Reply Last reply
                      0
                      • mrjjM mrjj

                        @Qtstarter121
                        You are not using Creator?

                        Q Offline
                        Q Offline
                        Qtstarter121
                        wrote on last edited by
                        #18

                        @mrjj nope, gdb.

                        mrjjM 1 Reply Last reply
                        0
                        • Q Qtstarter121

                          @mrjj nope, gdb.

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

                          @Qtstarter121
                          Ok so you compile outside of Creator and not using the dgb integration ?

                          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