C++ Qt C++;|当我在QListWidget中单击一个项目时,如何获取链接到索引的字符串数据?
我有这个插槽,我希望能够使用正在传递的索引处的字符串。我怎么去呢C++ Qt C++;|当我在QListWidget中单击一个项目时,如何获取链接到索引的字符串数据?,c++,qt,qlistwidget,C++,Qt,Qlistwidget,我有这个插槽,我希望能够使用正在传递的索引处的字符串。我怎么去呢 void Dialog::on_list_Favorites_2_clicked(const QModelIndex &index) { } 由于您使用的是QListWidget而不是QListView,因此还应该使用信号itemClicked(QListWidgetItem*)而不是clicked(const QModelIndex&) void Dialog::在列表上\u收藏夹\u 2\u项目已单击(QListW
void Dialog::on_list_Favorites_2_clicked(const QModelIndex &index)
{
}
由于您使用的是
QListWidget
而不是QListView
,因此还应该使用信号itemClicked(QListWidgetItem*)
而不是clicked(const QModelIndex&)
void Dialog::在列表上\u收藏夹\u 2\u项目已单击(QListWidgetItem*项目)
{
qDebug()文本();
}
既然您使用的是QListWidget
而不是QListView
,那么您也应该使用信号itemClicked(QListWidgetItem*)
而不是clicked(const QModelIndex&)
void Dialog::在列表上\u收藏夹\u 2\u项目已单击(QListWidgetItem*项目)
{
qDebug()文本();
}
在这种情况下,您可以使用下面的函数
QListWidgetItem * QListWidget::itemFromIndex(const QModelIndex & index) const
然后,可以使用QString QListWidgetItem::text()const
void Dialog::on_list_Favorites_2_clicked(const QModelIndex &index)
{
QListWidgetItem* pItem = m_listWidget->itemFromIndex( index );
Q_ASSERT( pItem );
if ( pItem )
{
QString itemName = pItem->text();
}
}
在这种情况下,您可以使用下面的函数
QListWidgetItem * QListWidget::itemFromIndex(const QModelIndex & index) const
然后,可以使用QString QListWidgetItem::text()const
void Dialog::on_list_Favorites_2_clicked(const QModelIndex &index)
{
QListWidgetItem* pItem = m_listWidget->itemFromIndex( index );
Q_ASSERT( pItem );
if ( pItem )
{
QString itemName = pItem->text();
}
}
当我这样做时,我会得到错误:C2061:语法错误:标识符'QListWidgetItem'错误:C2511:'void Dialog::on_listWidget_Fav_1_itemClicked(QListWidgetItem*)':在'Dialog'中找不到重载的成员函数如果我只是使用列表小部件创建一个新项目并创建“itemClicked”插槽并尝试运行,我会得到相同的错误。我是白痴。我需要在dialog.h中包含QListWidgetItem。当我这样做时,我会出现错误:C2061:语法错误:标识符“QListWidgetItem”错误:C2511:“void dialog::on_listWidget_Fav_1_itemClicked(QListWidgetItem*)”:在“dialog”中找不到重载的成员函数如果我只是使用列表小部件创建一个新项目并创建插槽,则会出现相同的错误“itemclicked”并尝试运行。我是白痴。我需要在dialog.h中包含QListWidgetItem