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. Program throws this error and SIGSEV when i try to set a pixmap for a Qlabel: glib-gobject-critical ** g_object_unref: assertion 'g_is_object (object)' failed qt
Forum Updated to NodeBB v4.3 + New Features

Program throws this error and SIGSEV when i try to set a pixmap for a Qlabel: glib-gobject-critical ** g_object_unref: assertion 'g_is_object (object)' failed qt

Scheduled Pinned Locked Moved Solved General and Desktop
17 Posts 5 Posters 1.5k 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.
  • M Manu_NaFu

    @Christian-Ehrlicher because it doesnt let me declare a QImage in the class so I created a Pointer.

    jsulmJ Offline
    jsulmJ Offline
    jsulm
    Lifetime Qt Champion
    wrote on last edited by
    #8

    @Manu_NaFu said in Program throws this error and SIGSEV when i try to set a pixmap for a Qlabel: glib-gobject-critical ** g_object_unref: assertion 'g_is_object (object)' failed qt:

    because it doesnt let me declare a QImage in the class

    There shouldn't be a problem declaring QImage in your class. How did you declare it and what was the error?

    https://forum.qt.io/topic/113070/qt-code-of-conduct

    M 1 Reply Last reply
    2
    • jsulmJ jsulm

      @Manu_NaFu said in Program throws this error and SIGSEV when i try to set a pixmap for a Qlabel: glib-gobject-critical ** g_object_unref: assertion 'g_is_object (object)' failed qt:

      because it doesnt let me declare a QImage in the class

      There shouldn't be a problem declaring QImage in your class. How did you declare it and what was the error?

      M Offline
      M Offline
      Manu_NaFu
      wrote on last edited by
      #9

      @jsulm O declared it as: QImage img;

      And it said I needed a constructor.

      jsulmJ 1 Reply Last reply
      0
      • M Manu_NaFu

        @jsulm O declared it as: QImage img;

        And it said I needed a constructor.

        jsulmJ Offline
        jsulmJ Offline
        jsulm
        Lifetime Qt Champion
        wrote on last edited by
        #10

        @Manu_NaFu Did you include QImage header file?

        https://forum.qt.io/topic/113070/qt-code-of-conduct

        M 1 Reply Last reply
        0
        • jsulmJ jsulm

          @Manu_NaFu Did you include QImage header file?

          M Offline
          M Offline
          Manu_NaFu
          wrote on last edited by
          #11

          @jsulm I did, i created the pointer as QImage *image;
          Instead of a normal variable.

          1 Reply Last reply
          0
          • Christian EhrlicherC Offline
            Christian EhrlicherC Offline
            Christian Ehrlicher
            Lifetime Qt Champion
            wrote on last edited by
            #12

            @Manu_NaFu said in Program throws this error and SIGSEV when i try to set a pixmap for a Qlabel: glib-gobject-critical ** g_object_unref: assertion 'g_is_object (object)' failed qt:

            Instead of a normal variable.

            What is a 'non-normal' variable??

            Again: there is no need to declare it as pointer and if you declare it as such you a) have to properly create it with new and b) should clean it up later on. But both is not needed when you declare it as simple object.

            Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
            Visit the Qt Academy at https://academy.qt.io/catalog

            M 1 Reply Last reply
            0
            • Christian EhrlicherC Christian Ehrlicher

              @Manu_NaFu said in Program throws this error and SIGSEV when i try to set a pixmap for a Qlabel: glib-gobject-critical ** g_object_unref: assertion 'g_is_object (object)' failed qt:

              Instead of a normal variable.

              What is a 'non-normal' variable??

              Again: there is no need to declare it as pointer and if you declare it as such you a) have to properly create it with new and b) should clean it up later on. But both is not needed when you declare it as simple object.

              M Offline
              M Offline
              Manu_NaFu
              wrote on last edited by
              #13

              @Christian-Ehrlicher Somehow now I could declare it. Anyway, it seems to me a problem related to cv::Mat memory allocation instead of Qt. It only fails when I resize the cv::Mat from where i get the image to use as pixmap, so now I don't really know if I should have posted this here.

              M 1 Reply Last reply
              0
              • M Manu_NaFu

                @Christian-Ehrlicher Somehow now I could declare it. Anyway, it seems to me a problem related to cv::Mat memory allocation instead of Qt. It only fails when I resize the cv::Mat from where i get the image to use as pixmap, so now I don't really know if I should have posted this here.

                M Offline
                M Offline
                Manu_NaFu
                wrote on last edited by
                #14

                @Manu_NaFu Update: it fails when I both resize the cv::Mat and try to use it as pixmap. If I only resize the mat works fine, and if I only use it as pixmap, it also works fine, but for any reason I cannot do both

                JonBJ 1 Reply Last reply
                0
                • M Manu_NaFu

                  @Manu_NaFu Update: it fails when I both resize the cv::Mat and try to use it as pixmap. If I only resize the mat works fine, and if I only use it as pixmap, it also works fine, but for any reason I cannot do both

                  JonBJ Online
                  JonBJ Online
                  JonB
                  wrote on last edited by
                  #15

                  @Manu_NaFu
                  To be clear: are you resizing your cv data before or after you assign it to the QImage? If the QImage or whatever is using the original data buffer passed to it, you cannot execute anything which changes that buffer. Just checking..

                  M 1 Reply Last reply
                  0
                  • JonBJ JonB

                    @Manu_NaFu
                    To be clear: are you resizing your cv data before or after you assign it to the QImage? If the QImage or whatever is using the original data buffer passed to it, you cannot execute anything which changes that buffer. Just checking..

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

                    @JonB I have a class called map, which contains an image, I resize that image at the start of the program, for example to be 200x200. Then i get that image and resize it to be the size of the Qlabel, which is 800x800, then i transform it into a QImage to use it for the pixmap. For that purpose, I do the following:

                    mat = map.getMap();
                    cv::resize(mat,mat,cv::Size(800,800));
                    QImage img((const uchar*)mat.data, mat.cols, mat.rows, mat.step, QImage::Format_RGB888);
                    emit(print_img(img.copy()));
                    usleep((10000/speed_)*1000);
                    

                    This code is in a while loop

                    1 Reply Last reply
                    0
                    • M Offline
                      M Offline
                      Manu_NaFu
                      wrote on last edited by
                      #17

                      I solved the issue by moving the map from the class variables to the run function(), so I do not have to resize the map.

                      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