Please help me this problem.
I using QGridLayout and array of QToolButton to display a array of images (Image is the icon of button). But the button (image) overlap...
I want to display the array button in 3 columns....
help me!
Thanks!
this is my code

Qt Code:
  1. QDir currentImageDir(LibPath+"/"+dir);
  2. currentImageDir.setFilter(QDir::Files | QDir::NoSymLinks | QDir::NoDotAndDotDot);
  3. QStringList ImageEntries = currentImageDir.entryList();
  4.  
  5. singalImageMapper = new QSignalMapper(this);
  6. QGridLayout* gridEPG;
  7. QScrollArea *scrollArea = new QScrollArea();
  8. QWidget *contentsWidget = new QWidget(scrollArea);
  9. gridEPG = new QGridLayout(contentsWidget);
  10.  
  11. scrollArea->setWidgetResizable(true);
  12. scrollArea->setWidget(contentsWidget);
  13. contentsWidget->setLayout(gridEPG);
  14. contentsWidget->setMinimumSize(scrollArea->width(), scrollArea->height());
  15.  
  16. ui->imageLayout->addWidget(scrollArea, 1, 0, 2, 3);
  17. QString filename[ImageEntries.count()];
  18.  
  19. for (int x = 0; x < ImageEntries.count(); x++)
  20. {
  21. // int row = x;
  22. //int col = i%3;
  23. filename[x]= ImageEntries.at(x);
  24. QToolButton* button = new QToolButton();
  25. button->setToolButtonStyle(Qt::ToolButtonTextUnderIcon);
  26. button->setIcon(QIcon(LibPath + "/" + dir + "/" + filename[x]));
  27. button->setFixedSize(QSize(96,76));
  28. button->setIconSize(QSize(96,76));
  29. connect(button, SIGNAL(clicked()), singalImageMapper, SLOT(map()));
  30. singalImageMapper->setMapping(button, filename[x]);
  31. for(int i=0; i<3; i++)
  32. gridEPG->addWidget(button, x, i%3);
  33.  
  34. }
  35. ui->fileImgUsing->setText(QString(imgPath + "/" + dir));
  36. connect(singalImageMapper, SIGNAL(mapped(QString)),this, SIGNAL(clicked(QString)));
  37. connect(this, SIGNAL(clicked(QString)),this, SLOT(onButtonClicked(QString)));
To copy to clipboard, switch view to plain text mode 

and my result

error.png