Qt C ++ | как получить строковые данные, связанные с индексом, когда я щелкаю элемент в QListWidget?

У меня есть этот слот, и я хочу иметь возможность использовать строку, по которой передается индекс. Как я могу добраться до этого?

void Dialog::on_list_Favorites_2_clicked(const QModelIndex &index)
{

}

0

Решение

Так как вы используете QListWidget вместо QListView Вы также должны использовать сигнал itemClicked(QListWidgetItem*) вместо clicked(const QModelIndex &),

void Dialog::on_list_Favorites_2_itemClicked(QListWidgetItem* item)
{
qDebug() << item->text();
}
3

Другие решения

Вы можете использовать функцию ниже для этого случая.

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();
}
}
1

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector