Qt實現網格顯示(圖標文本)功能

Qt實現網格顯示(圖標文本)功能

先上圖看看效果:

這裏寫圖片描述

上代碼:

QStandardItemModel *pModel = new QStandardItemModel(this);

    for (int i = 0; i < 32; ++i)
    {
        QStandardItem *pItem = new QStandardItem(QIcon(QString(":/new/images/images/0%1[24x24x8BPP].png").arg(3502 + i % 32)), QStringLiteral("哈哈哈哈哈哈哈哈"));
        pModel->appendRow(pItem);
    }

    QListView *pView = new QListView(this);

    pView->setModel(pModel);
    pView->setWrapping(true);    //文本超出顯示   ...
//    pView->setWordWrap(true);   //文本超出換行顯示
    pView->setFlow(QListView::LeftToRight);  
    pView->setViewMode(QListView::IconMode);  //顯示上圖標,下文本樣式
    pView->setResizeMode(QListView::Adjust);   //view大小變化,裏面的item重新佈局
    pView->setEditTriggers(QAbstractItemView::NoEditTriggers);  //編輯
    pView->setMovement(QListView::Snap); // 設置item移動
//    pView->setIconSize(QSize(64, 64));
//    pView->setUniformItemSizes(true);  //item一樣大
    pView->setGridSize(QSize(64, 64));

效果就是這樣,樣式不夠好看,可以使用qss去美化下哦。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章