我在一个需要在QtListWidget中显示的文件夹中有一些.jpg图像。我可以在QtListWidget中显示特定文件夹中的项目列表,但是当我单击它时无法打开该项目。我在教程中学到的应该使用“connect”来做它,我尝试了但是错误正在发生。 我在.cpp文件中的代码如下。任何帮助都是最受欢迎的......
QDir myPath("/home/mit/Desktop/Ui_dev_mits_cars/visual_image");
myPath.setFilter(QDir::Dirs | QDir::Files | QDir::NoDotAndDotDot);
myList = myPath.entryList();
ui->listWidget1->addItems(myList);
答案 0 :(得分:1)
是的,所以问题至少与你的代码折叠在一起:
connect(MyList,SIGNAL(doubleClicked(QListWidgetItem *)),this,SLOT(test(QListWidgetItem *)));
首先,您尝试使用基于QStringList
值的对象而不是指针。此外,您应该使用指向QListWidget
实例的指针。
其次,您使用的信号错误。参数是QModelIndex
而不是QListWidgetItem
。有关详细信息,请参阅文档:
void QAbstractItemView::doubleClicked(const QModelIndex & index) [signal]
双击鼠标按钮时会发出此信号。双击鼠标的项目由index指定。信号仅在索引有效时发出。
因此,抓住模型索引并在插槽中,通过使用内部指针或最好使用data()
方法从模型索引中获取数据。