diff --git a/mainwindow.cpp b/mainwindow.cpp index e409038..cedd605 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -41,13 +41,11 @@ MainWindow::MainWindow(QWidget* parent) groups_view->setMovement(QListView::Free); init_groups_list(groups_list); - init_groups_list(items_list); items_view->setItemDelegate(new ItemDisplayDelegate()); items_view->setViewMode(QListView::IconMode); items_view->setResizeMode(QListView::Adjust); - items_view->setSelectionRectVisible(true); - items_view->setGridSize(QSize(135, 195)); - items_view->setIconSize(QSize(120, 180)); + + connect(groups_view, &QListView::clicked, this, &MainWindow::init_items_present); } MainWindow::~MainWindow() @@ -61,15 +59,25 @@ MainWindow::init_groups_list(QStandardItemModel* model) QRandomGenerator gen; for (int idx = 0; idx < 200; ++idx) { - QList row; - row << new QStandardItem("无名集合0"); - row.last()->setData(gen.generate() % 100, GROUP_ITEMSCOUNT); - row.last()->setData(":/imgs/default/cover_item.jpg", GROUP_COVER0_PATH); + auto row = new QStandardItem("无名集合0"); + row->setData(gen.generate() % 100, GROUP_ITEMSCOUNT); + row->setData(":/imgs/default/cover_item.jpg", GROUP_COVER0_PATH); model->appendRow(row); } } +void +MainWindow::init_items_present(const QModelIndex& index) +{ + QRandomGenerator gen; + for (int idx = 0; idx < 200; ++idx) { + auto item = new QStandardItem("随机名称"); + item->setData((gen.generate() % 2 == 1 ? ":/imgs/default/cover.jpg" : ":/imgs/default/cover_item.jpg"), ITEM_ICON_PATH); + items_list->appendRow(item); + } +} + GroupDisplayDelegate::GroupDisplayDelegate() { }