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. Thumbnails using List Widget
Qt 6.11 is out! See what's new in the release blog

Thumbnails using List Widget

Scheduled Pinned Locked Moved Solved General and Desktop
17 Posts 4 Posters 5.3k 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.
  • VRoninV VRonin

    Can you show us the content of GenerateThumbList?

    A Offline
    A Offline
    amarism
    wrote on last edited by
    #8

    @VRonin 0_1528796229765_thumbnail.png

    VRoninV 1 Reply Last reply
    0
    • A amarism

      @VRonin 0_1528796229765_thumbnail.png

      VRoninV Offline
      VRoninV Offline
      VRonin
      wrote on last edited by
      #9

      @amarism ๐Ÿ˜“ I meant the code

      "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
      ~Napoleon Bonaparte

      On a crusade to banish setIndexWidget() from the holy land of Qt

      A 1 Reply Last reply
      1
      • VRoninV VRonin

        @amarism ๐Ÿ˜“ I meant the code

        A Offline
        A Offline
        amarism
        wrote on last edited by
        #10

        @VRonin for adding the image inside the listwidget
        QPalette p;
        this->ui->m_ThumblistWidget->setViewMode(QListWidget::IconMode);
        this->ui->m_ThumblistWidget->setIconSize(QSize(100, 100));
        this->ui->m_ThumblistWidget->setResizeMode(QListWidget::Adjust);
        p.setBrush(QPalette::Window, Qt::transparent);
        this->ui->m_ThumblistWidget->setPalette(p);
        View->GenerateThumbList(this->ui->m_ThumblistWidget);

        and i try to add numbering to every thumbnail image like this
        for (int i = 1; i <= this->ui->m_ThumblistWidget->count(); i++) {
        //this->ui->m_ThumblistWidget->addItem(new QListWidgetItem(NULL, i));
        }

        VRoninV 1 Reply Last reply
        0
        • A amarism

          @VRonin for adding the image inside the listwidget
          QPalette p;
          this->ui->m_ThumblistWidget->setViewMode(QListWidget::IconMode);
          this->ui->m_ThumblistWidget->setIconSize(QSize(100, 100));
          this->ui->m_ThumblistWidget->setResizeMode(QListWidget::Adjust);
          p.setBrush(QPalette::Window, Qt::transparent);
          this->ui->m_ThumblistWidget->setPalette(p);
          View->GenerateThumbList(this->ui->m_ThumblistWidget);

          and i try to add numbering to every thumbnail image like this
          for (int i = 1; i <= this->ui->m_ThumblistWidget->count(); i++) {
          //this->ui->m_ThumblistWidget->addItem(new QListWidgetItem(NULL, i));
          }

          VRoninV Offline
          VRoninV Offline
          VRonin
          wrote on last edited by
          #11

          What's inside View->GenerateThumbList(this->ui->m_ThumblistWidget);?

          "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
          ~Napoleon Bonaparte

          On a crusade to banish setIndexWidget() from the holy land of Qt

          A 1 Reply Last reply
          0
          • VRoninV VRonin

            What's inside View->GenerateThumbList(this->ui->m_ThumblistWidget);?

            A Offline
            A Offline
            amarism
            wrote on last edited by
            #12

            @VRonin generating the image in the form of thumbnails in view list

            VRoninV 1 Reply Last reply
            0
            • A amarism

              @VRonin generating the image in the form of thumbnails in view list

              VRoninV Offline
              VRoninV Offline
              VRonin
              wrote on last edited by VRonin
              #13

              generating the image in the form of thumbnails in view list

              Can you show us the code that does that?


              A bit in the dark here but this is wrong

              for (int i = 1; i <= this->ui->m_ThumblistWidget->count(); i++) {
              //this->ui->m_ThumblistWidget->addItem(new QListWidgetItem(NULL, i));
              }
              

              it overrides what's already there. Try this:

              for (int i = 0, listCnt = ui->m_ThumblistWidget->count(); i < listCnt ; ++i) {
              QAbstractItemModel* const model = ui->m_ThumblistWidget->model();
              model->setData(model->index(i,0),i+1,Qt::EditRole);
              }
              

              "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
              ~Napoleon Bonaparte

              On a crusade to banish setIndexWidget() from the holy land of Qt

              A 1 Reply Last reply
              0
              • VRoninV VRonin

                generating the image in the form of thumbnails in view list

                Can you show us the code that does that?


                A bit in the dark here but this is wrong

                for (int i = 1; i <= this->ui->m_ThumblistWidget->count(); i++) {
                //this->ui->m_ThumblistWidget->addItem(new QListWidgetItem(NULL, i));
                }
                

                it overrides what's already there. Try this:

                for (int i = 0, listCnt = ui->m_ThumblistWidget->count(); i < listCnt ; ++i) {
                QAbstractItemModel* const model = ui->m_ThumblistWidget->model();
                model->setData(model->index(i,0),i+1,Qt::EditRole);
                }
                
                A Offline
                A Offline
                amarism
                wrote on last edited by
                #14

                @VRonin THIS ONE ALSO NOT WORKING
                for (int i = 0, listCnt = ui->m_ThumblistWidget->count(); i < listCnt ; ++i) {
                QAbstractItemModel* const model = ui->m_ThumblistWidget->model();
                model->setData(model->index(i,0),i+1,Qt::EditRole);
                }

                1 Reply Last reply
                0
                • KillerSmathK Offline
                  KillerSmathK Offline
                  KillerSmath
                  wrote on last edited by KillerSmath
                  #15

                  @amarism

                  If you need to insert a text in the thumbnail, you must to use an QPainter and add a Text on Image

                  Example:

                  #include <QPainter>
                  #include <QImage>
                  #include <QFont>
                  #include <QPen>
                  #include <QString>
                  
                   ...
                  
                      QImage img(<image path>); // load image
                  
                      int number = 15;
                  
                      QPainter painter(&img); // Pass QImage to Editor
                      painter.setPen(QPen(Qt::white));
                      painter.setFont(QFont("Arial", 15, QFont::Bold));
                  
                      painter.drawText(img.rect(), Qt::AlignCenter, QString::number(number)); // insert number on center of image
                  
                     // insertImageToTable(img)
                  
                  

                  @Computer Science Student - Brazil
                  Web Developer and Researcher
                  โ€œSometimes itโ€™s the people no one imagines anything of who do the things that no one can imagine.โ€ - Alan Turing

                  A 1 Reply Last reply
                  0
                  • KillerSmathK KillerSmath

                    @amarism

                    If you need to insert a text in the thumbnail, you must to use an QPainter and add a Text on Image

                    Example:

                    #include <QPainter>
                    #include <QImage>
                    #include <QFont>
                    #include <QPen>
                    #include <QString>
                    
                     ...
                    
                        QImage img(<image path>); // load image
                    
                        int number = 15;
                    
                        QPainter painter(&img); // Pass QImage to Editor
                        painter.setPen(QPen(Qt::white));
                        painter.setFont(QFont("Arial", 15, QFont::Bold));
                    
                        painter.drawText(img.rect(), Qt::AlignCenter, QString::number(number)); // insert number on center of image
                    
                       // insertImageToTable(img)
                    
                    
                    A Offline
                    A Offline
                    amarism
                    wrote on last edited by
                    #16

                    @KillerSmath In the QImage img(<load image>).
                    I have the series of image. can I load it

                    1 Reply Last reply
                    0
                    • VRoninV Offline
                      VRoninV Offline
                      VRonin
                      wrote on last edited by VRonin
                      #17

                      Ok... let's see if an easy example helps:

                      #include <QApplication>
                      #include <QStyledItemDelegate>
                      #include <QListWidget>
                      class ImageDelegate : public QStyledItemDelegate{
                          Q_DISABLE_COPY(ImageDelegate)
                      public:
                          explicit ImageDelegate(QObject* parent = Q_NULLPTR)
                              :QStyledItemDelegate(parent)
                          {}
                          void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const Q_DECL_OVERRIDE{
                              Q_ASSERT(index.isValid());
                              QStyleOptionViewItem opt = option;
                              initStyleOption(&opt, index);
                              QStyle *style = option.widget ? option.widget->style() : QApplication::style();
                              QPixmap backPix = index.data(Qt::DecorationRole).value<QPixmap>();
                              if(!backPix.isNull())
                                  style->drawItemPixmap(painter,option.rect,Qt::AlignCenter,backPix.scaled(option.rect.size()));
                              style->drawItemText(painter,option.rect,Qt::AlignBottom | Qt::AlignRight,option.palette,option.state & QStyle::State_Enabled,index.data(Qt::EditRole).toString());
                          }
                      };
                      
                      int main(int argc, char *argv[])
                      {
                          QApplication application(argc, argv);
                          QListWidget wid;
                          wid.setItemDelegate(new ImageDelegate(&wid));
                          QAbstractItemModel* const model= wid.model();
                          model->insertRows(0,5);
                          QPixmap tempPix(30,30);
                          const Qt::GlobalColor colors[] = {Qt::yellow,Qt::magenta,Qt::cyan,Qt::green,Qt::blue};
                          for(int i=0;i<wid.count();++i){
                              tempPix.fill(colors[i]);
                              model->setData(model->index(i,0),tempPix,Qt::DecorationRole);
                              model->setData(model->index(i,0),i+1,Qt::EditRole);
                          }
                          wid.show();
                          return application.exec();
                      }
                      

                      "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
                      ~Napoleon Bonaparte

                      On a crusade to banish setIndexWidget() from the holy land of Qt

                      1 Reply Last reply
                      2

                      • Login

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