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. How to display a picture
Forum Updated to NodeBB v4.3 + New Features

How to display a picture

Scheduled Pinned Locked Moved Solved General and Desktop
43 Posts 8 Posters 87.3k Views 5 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.
  • P Payx

    Thanks but how to return it ?

    ""ui->label_3->setText( QString("Size: %1, %2").arg(s.width()).arg(s.height()) );""

    there is not more simple ?

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

    @Payx
    Well You need to convert to text anyway so it will become

    ui->label_3->setText( "Size: " + QString::number(s.width()) +" "+ QString::number(s.width()) );

    Not sure its better.

    • Thanks but how to return it ?
      What we do there is to convert to text and set that text in some label.
      That is not really returning it.

    returning it would be something like

    QSize SomeFunc() {
    return pm.size();
    }

    1 Reply Last reply
    1
    • P Offline
      P Offline
      Payx
      wrote on last edited by
      #20

      Thanks it works. I prefer : ui->label_3->setText( "Size: " + QString::number(s.width()) +" "+ QString::number(s.height()) );
      because i understand all.

      Then if i want to use height and width for other calcul i can use :
      s.width() * 5 ?

      If i want to cut my picture in many square or rectangle i have to do :

      int h = s.width() and work with h thats right ?

      mrjjM 1 Reply Last reply
      0
      • P Payx

        Thanks it works. I prefer : ui->label_3->setText( "Size: " + QString::number(s.width()) +" "+ QString::number(s.height()) );
        because i understand all.

        Then if i want to use height and width for other calcul i can use :
        s.width() * 5 ?

        If i want to cut my picture in many square or rectangle i have to do :

        int h = s.width() and work with h thats right ?

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

        @Payx

        • int h = s.width() and work with h thats right ?
          Yes that's a copy of the current width. ( so w is better name ;)
          but its makes the calculation easier to read than using s.width() directly.

        Note to actually cut the image, you can use
        http://doc.qt.io/qt-5/qimage.html#copy

        1 Reply Last reply
        1
        • P Offline
          P Offline
          Payx
          wrote on last edited by
          #22

          Okay !

          but : QImage QImage::copy(const QRect &rectangle = QRect()) const
          with this code we can work only in one rectangle no ?

          for example i thought cut my picture in pixels 4*4 and have a new image with resolution / 4 :

          i have to use a code like this :

          for (i=0,i<s.width()+1,i=i+4)
          for (j=0,j<s.height()+1,j=j+4)

           end 
          

          end

          mrjjM 1 Reply Last reply
          0
          • P Payx

            Okay !

            but : QImage QImage::copy(const QRect &rectangle = QRect()) const
            with this code we can work only in one rectangle no ?

            for example i thought cut my picture in pixels 4*4 and have a new image with resolution / 4 :

            i have to use a code like this :

            for (i=0,i<s.width()+1,i=i+4)
            for (j=0,j<s.height()+1,j=j+4)

             end 
            

            end

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

            @Payx

            int step=4;
            for (i=0,i<s.width()+1,i=i+step)
              for (j=0,j<s.height()+1,j=j+step)
              just use  QImage QImage::copy(int x, int y, int width, int height) const
            

            This will generate small images of each 4x4

            P 1 Reply Last reply
            1
            • P Payx

              I put this "file:///C:/Users/David/Documents/addddd/r.jpg"

              Yes i added a Qlabel with the .ui and named label (dont worry i changed the name in my code)

              Pradeep KumarP Offline
              Pradeep KumarP Offline
              Pradeep Kumar
              wrote on last edited by
              #24

              @Payx said in How to display a picture:

              I put this "file:///C:/Users/David/Documents/addddd/r.jpg"

              Yes i added a Qlabel with the .ui and named label (dont worry i changed the name in my code)

              A small info, u can also place image in resource file of the project , so no need to worry about absolute path.

              Pradeep Kumar
              Qt,QML Developer

              1 Reply Last reply
              2
              • mrjjM mrjj

                @Payx

                int step=4;
                for (i=0,i<s.width()+1,i=i+step)
                  for (j=0,j<s.height()+1,j=j+step)
                  just use  QImage QImage::copy(int x, int y, int width, int height) const
                

                This will generate small images of each 4x4

                P Offline
                P Offline
                Payx
                wrote on last edited by
                #25

                @mrjj said in How to display a picture:

                @Payx

                int step=4;
                for (i=0,i<s.width()+1,i=i+step)
                  for (j=0,j<s.height()+1,j=j+step)
                  just use  QImage QImage::copy(int x, int y, int width, int height) const
                

                This will generate small images of each 4x4

                Okay i will test that.

                I got an other question, with that code : "QImage img("C:/path/filename.jpg");" i have to put the destination of the file (sorry for my english)

                but if i want to create a file explorer (for example in facebook we can change a picture with a file explorer and choose what picture i want)
                what can i do ?

                1 Reply Last reply
                0
                • mrjjM Offline
                  mrjjM Offline
                  mrjj
                  Lifetime Qt Champion
                  wrote on last edited by mrjj
                  #26
                  • but if i want to create a file explorer (for example in facebook we can change a picture with a file explorer and choose what picture i want)

                  Im not 100% sure what you ask, but I give a guess:

                  Instead of using a fixed path in the program you can use
                  http://doc.qt.io/qt-5/qfiledialog.html
                  to let user browser and select an image.

                  Like in this example
                  http://doc.qt.io/qt-5/qtwidgets-widgets-imageviewer-example.html

                  so
                  QImage img("C:/path/filename.jpg"
                  becomes

                  QString imagefile = QFileDialog::getOpenFileNames(this, tr("Files"), QDir::currentPath(), tr("*.jpg *.png"));
                  QImage img(imagefile);

                  Hope that is what you asked about.

                  1 Reply Last reply
                  0
                  • P Offline
                    P Offline
                    Payx
                    wrote on last edited by
                    #27

                    I found what i sought :

                    QStringList fileNames = QFileDialog::getOpenFileNames(this, tr("Open Image"),"/path",tr("Image Files (*.jpg)"));

                    But i got all files, and i just want .jpg for now """"""tr("Image Files (*.jpg)"));"""""""""" dont work ?

                    then i want to put my picture file in a label, but i can't find how to convert a QStringList to a Qimage or Qpixmap

                    mrjjM 1 Reply Last reply
                    0
                    • P Payx

                      I found what i sought :

                      QStringList fileNames = QFileDialog::getOpenFileNames(this, tr("Open Image"),"/path",tr("Image Files (*.jpg)"));

                      But i got all files, and i just want .jpg for now """"""tr("Image Files (*.jpg)"));"""""""""" dont work ?

                      then i want to put my picture file in a label, but i can't find how to convert a QStringList to a Qimage or Qpixmap

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

                      @Payx
                      it should work with *.jpg.

                      • but i can't find how to convert a QStringList to a Qimage or Qpixmap

                      Oh just use
                      fileName = QFileDialog::getOpenFileName(this,
                      tr("Open Image"), "/", tr("Image Files (*.png *.jpg *.bmp)"));

                      It only returns the 1 filename. ( NOTE THE MISSING s)

                      ui->mylabel->setPixmap( new QPixmap(fileName ));

                      1 Reply Last reply
                      0
                      • P Offline
                        P Offline
                        Payx
                        wrote on last edited by
                        #29

                        I got one error : Expected one specifier before pixmap

                        mrjjM 1 Reply Last reply
                        0
                        • P Payx

                          I got one error : Expected one specifier before pixmap

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

                          @Payx
                          the class is QPixmap
                          so its "new QPixmap"

                          setPixmap( new QPixmap(fileName ));

                          Sorry, was just fast code.

                          1 Reply Last reply
                          1
                          • P Offline
                            P Offline
                            Payx
                            wrote on last edited by
                            #31

                            Yes i tried too before post but i had one error too, so i post the first error.

                            The second is :
                            No matching function for call to 'Qlabel::setPixmap(QPixmap*)"

                            mrjjM 1 Reply Last reply
                            2
                            • P Payx

                              Yes i tried too before post but i had one error too, so i post the first error.

                              The second is :
                              No matching function for call to 'Qlabel::setPixmap(QPixmap*)"

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

                              @Payx
                              Sorry not enough coffee :)

                              QPixmap pix(fileName );
                              setPixmap(pix);

                              1 Reply Last reply
                              3
                              • Pradeep KumarP Offline
                                Pradeep KumarP Offline
                                Pradeep Kumar
                                wrote on last edited by Pradeep Kumar
                                #33

                                If u are using QImage

                                m_imageLabel = new QLabel;
                                QImage imagePixmap;
                                imagePixmap.load(":/new/prefix1/Images/imageName.extension");
                                m_imageLabel->setPixmap(QPixmap::fromImage(imagePixmap));
                                

                                Or

                                Only QPixmap

                                m_imageLabel = new QLabel;
                                QPixmap imagePixmap;
                                imagePixmap.load(":/new/prefix1/Images/imageName.extension");
                                m_imageLabel->setPixmap(imagePixmap);
                                

                                imageName.extension can be image.png, image.jpeg.

                                Pradeep Kumar
                                Qt,QML Developer

                                P 1 Reply Last reply
                                2
                                • Pradeep KumarP Pradeep Kumar

                                  If u are using QImage

                                  m_imageLabel = new QLabel;
                                  QImage imagePixmap;
                                  imagePixmap.load(":/new/prefix1/Images/imageName.extension");
                                  m_imageLabel->setPixmap(QPixmap::fromImage(imagePixmap));
                                  

                                  Or

                                  Only QPixmap

                                  m_imageLabel = new QLabel;
                                  QPixmap imagePixmap;
                                  imagePixmap.load(":/new/prefix1/Images/imageName.extension");
                                  m_imageLabel->setPixmap(imagePixmap);
                                  

                                  imageName.extension can be image.png, image.jpeg.

                                  P Offline
                                  P Offline
                                  Payx
                                  wrote on last edited by
                                  #34

                                  @Pradeep-Kumar said in How to display a picture:

                                  If u are using QImage

                                  m_imageLabel = new QLabel;
                                  QImage imagePixmap;
                                  imagePixmap.load(":/new/prefix1/Images/imageName.extension");
                                  m_imageLabel->setPixmap(QPixmap::fromImage(imagePixmap));
                                  

                                  Or

                                  Only QPixmap

                                  m_imageLabel = new QLabel;
                                  QPixmap imagePixmap;
                                  imagePixmap.load(":/new/prefix1/Images/imageName.extension");
                                  m_imageLabel->setPixmap(imagePixmap);
                                  

                                  imageName.extension can be image.png, image.jpeg.

                                  U didnt read the thread i think :-).
                                  But thx

                                  @mrjj Lol no problem :-)
                                  Thanks it works i will create an other thread for an other question after

                                  Pradeep KumarP 1 Reply Last reply
                                  2
                                  • Pradeep KumarP Offline
                                    Pradeep KumarP Offline
                                    Pradeep Kumar
                                    wrote on last edited by
                                    #35

                                    Thread says how to display a picture

                                    @Payx
                                    Is this the thing?.
                                    correct me if i was wrong.

                                    Pradeep Kumar
                                    Qt,QML Developer

                                    P 1 Reply Last reply
                                    1
                                    • Pradeep KumarP Pradeep Kumar

                                      Thread says how to display a picture

                                      @Payx
                                      Is this the thing?.
                                      correct me if i was wrong.

                                      P Offline
                                      P Offline
                                      Payx
                                      wrote on last edited by
                                      #36

                                      @Pradeep-Kumar said in How to display a picture:

                                      Thread says how to display a picture

                                      @Payx
                                      Is this the thing?.
                                      correct me if i was wrong.

                                      wow u just answer the question after 5 guys answer me.

                                      1 Reply Last reply
                                      1
                                      • Pradeep KumarP Offline
                                        Pradeep KumarP Offline
                                        Pradeep Kumar
                                        wrote on last edited by
                                        #37

                                        Hmmmmmmmmmm was toooooooooooo late.:)))

                                        Pradeep Kumar
                                        Qt,QML Developer

                                        1 Reply Last reply
                                        1
                                        • P Payx

                                          @Pradeep-Kumar said in How to display a picture:

                                          If u are using QImage

                                          m_imageLabel = new QLabel;
                                          QImage imagePixmap;
                                          imagePixmap.load(":/new/prefix1/Images/imageName.extension");
                                          m_imageLabel->setPixmap(QPixmap::fromImage(imagePixmap));
                                          

                                          Or

                                          Only QPixmap

                                          m_imageLabel = new QLabel;
                                          QPixmap imagePixmap;
                                          imagePixmap.load(":/new/prefix1/Images/imageName.extension");
                                          m_imageLabel->setPixmap(imagePixmap);
                                          

                                          imageName.extension can be image.png, image.jpeg.

                                          U didnt read the thread i think :-).
                                          But thx

                                          @mrjj Lol no problem :-)
                                          Thanks it works i will create an other thread for an other question after

                                          Pradeep KumarP Offline
                                          Pradeep KumarP Offline
                                          Pradeep Kumar
                                          wrote on last edited by
                                          #38

                                          Thanks it works i will create an other thread for an other question after

                                          If it is working can u mark thread has solved, so it will be useful in future.
                                          Cheers.:)))))))

                                          Thanks,

                                          Pradeep Kumar
                                          Qt,QML Developer

                                          1 Reply Last reply
                                          1

                                          • Login

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Users
                                          • Groups
                                          • Search
                                          • Get Qt Extensions
                                          • Unsolved