Advertisement
Guest User

Untitled

a guest
Nov 19th, 2013
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.26 KB | None | 0 0
  1. #include <QtWidgets/QApplication>
  2. #include <QtCore/QAbstractListModel>
  3. #include <QtGui/QPixmap>
  4. #include <QtGui/QPainter>
  5. #include <QtGui/QColor>
  6. #include <QtWidgets/QListView>
  7.  
  8. class Model : public QAbstractListModel {
  9. public:
  10.   Model() {
  11.     image = new QPixmap(70,70);
  12.     QPainter painter(image);
  13.     painter.fillRect(image->rect(), QColor("red"));
  14.   }
  15.  
  16.   int rowCount(const QModelIndex & parent = QModelIndex()) const {
  17.     return 10;
  18.   }
  19.  
  20.   QVariant data(const QModelIndex & index, int role = Qt::DisplayRole) const {
  21.     switch (role) {
  22.     case Qt::DisplayRole:
  23.       return QString("Item %1").arg(index.row());
  24.     case Qt::DecorationRole:
  25.       if (index.row() % 2) {
  26.         return *image;
  27.       }
  28.     }
  29.     return QVariant();
  30.   }
  31. private:
  32.   QPixmap* image;
  33. };
  34.  
  35. #include <QtWidgets/QDialog>
  36. class QListViewIconMode : public QDialog {
  37. public:
  38.   QListViewIconMode(QWidget *parent = nullptr) : QDialog(parent) {
  39.     auto listView = new QListView(this);
  40.     listView->setGeometry(QRect(10, 10, 581, 381));
  41.     listView->setViewMode(QListView::IconMode);
  42.     listView->setModel(new Model());
  43.   }
  44. };
  45.  
  46. int main(int argc, char *argv[]) {
  47.     QApplication a(argc, argv);
  48.     QListViewIconMode w;
  49.     w.show();
  50.     return a.exec();
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement