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. Qt resource not showing up in static build...
Forum Updated to NodeBB v4.3 + New Features

Qt resource not showing up in static build...

Scheduled Pinned Locked Moved Solved General and Desktop
42 Posts 5 Posters 14.9k Views 4 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.
  • SGaistS Offline
    SGaistS Offline
    SGaist
    Lifetime Qt Champion
    wrote on last edited by
    #2

    Hi,

    Are you talking about Q_INIT_RESOURCE ?

    Interested in AI ? www.idiap.ch
    Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

    1 Reply Last reply
    1
    • mzimmersM Offline
      mzimmersM Offline
      mzimmers
      wrote on last edited by
      #3

      Yeah, mentioned here. But, if I'm reading the document correctly, that shouldn't apply to my example.

      mrjjM 1 Reply Last reply
      0
      • mzimmersM mzimmers

        Yeah, mentioned here. But, if I'm reading the document correctly, that shouldn't apply to my example.

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

        @mzimmers
        Hi
        You mean when you produce a static linked .exe ( with our own static compiled Qt) ( not the same as release mode vs debug mode )
        the compiled in qres file does not work?

        And you have it in the project like ?
        alt text

        mzimmersM 1 Reply Last reply
        0
        • mrjjM mrjj

          @mzimmers
          Hi
          You mean when you produce a static linked .exe ( with our own static compiled Qt) ( not the same as release mode vs debug mode )
          the compiled in qres file does not work?

          And you have it in the project like ?
          alt text

          mzimmersM Offline
          mzimmersM Offline
          mzimmers
          wrote on last edited by
          #5

          @mrjj yes on both counts. I am getting an error message at runtime:

          QPixmap::scaled: Pixmap is a null pixmap

          Here's the code I use to display it:

              QPixmap logo(":/logos/logo1color.svg"); // .svg file created from .png file with http://www.autotracer.org/
              QSize logoSize = ui->logoLabel->size();
              ui->logoLabel->setPixmap(logo.scaled(logoSize, Qt::KeepAspectRatio, Qt::SmoothTransformation));
          

          And again, it's working when built for debug.

          mrjjM kshegunovK 2 Replies Last reply
          0
          • mzimmersM mzimmers

            @mrjj yes on both counts. I am getting an error message at runtime:

            QPixmap::scaled: Pixmap is a null pixmap

            Here's the code I use to display it:

                QPixmap logo(":/logos/logo1color.svg"); // .svg file created from .png file with http://www.autotracer.org/
                QSize logoSize = ui->logoLabel->size();
                ui->logoLabel->setPixmap(logo.scaled(logoSize, Qt::KeepAspectRatio, Qt::SmoothTransformation));
            

            And again, it's working when built for debug.

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

            @mzimmers
            Hi, svg is a normally plugin. maybe it was not compiled in ?
            Did you try with a png or a more native image?

            mzimmersM 1 Reply Last reply
            0
            • mzimmersM mzimmers

              @mrjj yes on both counts. I am getting an error message at runtime:

              QPixmap::scaled: Pixmap is a null pixmap

              Here's the code I use to display it:

                  QPixmap logo(":/logos/logo1color.svg"); // .svg file created from .png file with http://www.autotracer.org/
                  QSize logoSize = ui->logoLabel->size();
                  ui->logoLabel->setPixmap(logo.scaled(logoSize, Qt::KeepAspectRatio, Qt::SmoothTransformation));
              

              And again, it's working when built for debug.

              kshegunovK Offline
              kshegunovK Offline
              kshegunov
              Moderators
              wrote on last edited by
              #7

              Can you show your project's file structure? It probably is a path issue (difference) between the release and debug builds.

              Read and abide by the Qt Code of Conduct

              1 Reply Last reply
              1
              • mrjjM Offline
                mrjjM Offline
                mrjj
                Lifetime Qt Champion
                wrote on last edited by
                #8

                Also to be clear.
                It does work in statically linked debug version but not in a
                statically linked release version?
                That is odd.
                When you made your statically linkable Qt, you did use release mode?

                mzimmersM 1 Reply Last reply
                0
                • mrjjM mrjj

                  @mzimmers
                  Hi, svg is a normally plugin. maybe it was not compiled in ?
                  Did you try with a png or a more native image?

                  mzimmersM Offline
                  mzimmersM Offline
                  mzimmers
                  wrote on last edited by
                  #9

                  @mrjj yes, I tried other formats...they looked terrible so I went to .svg.

                  @kshegunov: project file layout is entirely flat...do I need a subdirectory called /logos?

                  1 Reply Last reply
                  0
                  • mrjjM mrjj

                    Also to be clear.
                    It does work in statically linked debug version but not in a
                    statically linked release version?
                    That is odd.
                    When you made your statically linkable Qt, you did use release mode?

                    mzimmersM Offline
                    mzimmersM Offline
                    mzimmers
                    wrote on last edited by
                    #10

                    @mrjj not quite: it works in dynamic/debug, but not in static/release. I haven't tried the other permutations yet.

                    kshegunovK 1 Reply Last reply
                    0
                    • mzimmersM mzimmers

                      @mrjj not quite: it works in dynamic/debug, but not in static/release. I haven't tried the other permutations yet.

                      kshegunovK Offline
                      kshegunovK Offline
                      kshegunov
                      Moderators
                      wrote on last edited by kshegunov
                      #11

                      Aha! So your debug is in fact dynamically linked. Then do the manual resource initialization as @SGaist hinted!

                      Read and abide by the Qt Code of Conduct

                      mzimmersM 1 Reply Last reply
                      0
                      • kshegunovK kshegunov

                        Aha! So your debug is in fact dynamically linked. Then do the manual resource initialization as @SGaist hinted!

                        mzimmersM Offline
                        mzimmersM Offline
                        mzimmers
                        wrote on last edited by
                        #12

                        @kshegunov sorry - I thought I'd made that clear in my OP.

                        I've added this line to my main (my resource file is called "resources.qrc"):

                            Q_INIT_RESOURCE(resources);
                        

                        Still doesn't show, and I'm getting that null pixmap error.

                        1 Reply Last reply
                        0
                        • SGaistS Offline
                          SGaistS Offline
                          SGaist
                          Lifetime Qt Champion
                          wrote on last edited by
                          #13

                          Do you have several resources named like that ?

                          Interested in AI ? www.idiap.ch
                          Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                          mzimmersM 1 Reply Last reply
                          0
                          • SGaistS SGaist

                            Do you have several resources named like that ?

                            mzimmersM Offline
                            mzimmersM Offline
                            mzimmers
                            wrote on last edited by
                            #14

                            @SGaist I'm not sure what you mean by "named like that," but I only have one .qrc file, and it only has two files in it.

                            kshegunovK 1 Reply Last reply
                            0
                            • mzimmersM mzimmers

                              @SGaist I'm not sure what you mean by "named like that," but I only have one .qrc file, and it only has two files in it.

                              kshegunovK Offline
                              kshegunovK Offline
                              kshegunov
                              Moderators
                              wrote on last edited by
                              #15

                              Okay, can you grab a screenshot from the resource editor? Unless that path is an alias, then you need to put the image into that folder under the project. I personally always alias the things because it feels quite clumsy otherwise ...

                              Read and abide by the Qt Code of Conduct

                              1 Reply Last reply
                              0
                              • mzimmersM Offline
                                mzimmersM Offline
                                mzimmers
                                wrote on last edited by mzimmers
                                #16

                                So I need a subdirectory in my source folder? I'll try that.

                                0_1508880996044_resource.PNG

                                EDIT: just moved logo to a subfolder, rebuilt and now I'm getting an error:

                                [release/qrc_resources.cpp] Error 1

                                So I deleted the moved file and re-added it. Still getting the null pixmap error.

                                kshegunovK 1 Reply Last reply
                                0
                                • mzimmersM mzimmers

                                  So I need a subdirectory in my source folder? I'll try that.

                                  0_1508880996044_resource.PNG

                                  EDIT: just moved logo to a subfolder, rebuilt and now I'm getting an error:

                                  [release/qrc_resources.cpp] Error 1

                                  So I deleted the moved file and re-added it. Still getting the null pixmap error.

                                  kshegunovK Offline
                                  kshegunovK Offline
                                  kshegunov
                                  Moderators
                                  wrote on last edited by
                                  #17

                                  @mzimmers said in Qt resource not showing up in static build...:

                                  just moved logo to a subfolder, rebuilt and now I'm getting an error:

                                  Not any subfolder, looking at the screenshot you need a folder called logos under your project root. Then readd the file and I think it should work.

                                  Read and abide by the Qt Code of Conduct

                                  mzimmersM 1 Reply Last reply
                                  0
                                  • kshegunovK kshegunov

                                    @mzimmers said in Qt resource not showing up in static build...:

                                    just moved logo to a subfolder, rebuilt and now I'm getting an error:

                                    Not any subfolder, looking at the screenshot you need a folder called logos under your project root. Then readd the file and I think it should work.

                                    mzimmersM Offline
                                    mzimmersM Offline
                                    mzimmers
                                    wrote on last edited by mzimmers
                                    #18

                                    @kshegunov no joy.

                                    0_1508882322220_folder.PNG
                                    EDIT: put some text in here to separate the pics.
                                    0_1508882354954_qt.PNG

                                    But at least now it's missing from both the debug and release versions...

                                    kshegunovK 1 Reply Last reply
                                    0
                                    • mzimmersM mzimmers

                                      @kshegunov no joy.

                                      0_1508882322220_folder.PNG
                                      EDIT: put some text in here to separate the pics.
                                      0_1508882354954_qt.PNG

                                      But at least now it's missing from both the debug and release versions...

                                      kshegunovK Offline
                                      kshegunovK Offline
                                      kshegunov
                                      Moderators
                                      wrote on last edited by
                                      #19

                                      But now your resource tree looks funny, you have two folders named "logos" there ...?

                                      Read and abide by the Qt Code of Conduct

                                      1 Reply Last reply
                                      0
                                      • mzimmersM Offline
                                        mzimmersM Offline
                                        mzimmers
                                        wrote on last edited by
                                        #20

                                        OK, I obviously don't know what's going on here. The resource editor requires me to add a prefix before I can add a file. When I add the file, if it's in a subdirectory, that gets prepended to the file name. This is why you're seeing what appears to be two levels of folders.

                                        I don't know how to do this differently.

                                        kshegunovK 1 Reply Last reply
                                        0
                                        • mzimmersM mzimmers

                                          OK, I obviously don't know what's going on here. The resource editor requires me to add a prefix before I can add a file. When I add the file, if it's in a subdirectory, that gets prepended to the file name. This is why you're seeing what appears to be two levels of folders.

                                          I don't know how to do this differently.

                                          kshegunovK Offline
                                          kshegunovK Offline
                                          kshegunov
                                          Moderators
                                          wrote on last edited by
                                          #21

                                          Ah, okay. That's why I'm saying it's damn clumsy. Add only a / as prefix and then add your file. It should fix the double folder thing.

                                          Read and abide by the Qt Code of Conduct

                                          mzimmersM 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