0
我有一个QListview我已经设置了一个模型。该模型包含QList。现在我想要点击该项目来获取QListview的内容。但我不知道该怎么做?通过我跟随的一些教程,我可以如下所示在QListview中显示两个项目。但我不知道如何使它工作?请任何人帮忙。我正在工作的代码如下。C++ QListView的图标和点击项目上的信号
listviewmodel =new QListView;
listviewmodel->setModel(createModel());
listviewmodel->setViewMode(QListView::IconMode);
listviewmodel->setIconSize(QSize(size().width()/8, size().height()/8));
connect(listviewmodel,SIGNAL(clicked(const QModelIndex)),this,SLOT(ItemClicked(QModelIndex)));
QAbstractItemModel *MainWindow::createModel()
{
QStandardItemModel *model = new QStandardItemModel();
QList<QStandardItem *> listItem;
QStandardItem *item2 = new QStandardItem();
item2->setIcon(QIcon(QPixmap::fromImage(qimages2)));
listItem << item2;
QStandardItem *item1 = new QStandardItem();
item1->setIcon(QIcon(QPixmap::fromImage(qimages1)));
listItem << item1;
model->appendColumn(listItem);
return model;
}
void MainWindow::ItemClicked (QModelIndex index)
{
textEdit->setText(index.data().toString());
}
实际上,我在专用插槽中使用了我的ItemClicked()函数。但我不认为这是问题。实际上,正如我之前告诉的,我在ListView中有图像图标,所以无论何时单击任何图像图标,我都想要背后的信息和细节。但是我点击没有获得任何东西。文本编辑为空。 – user3538273
但是你想在'textEdit'中显示什么信息?如果你没有在列表项中设置文本,这个字段显然是空的。 – trivelt