换成C++语言写上面的例子
时间: 2023-10-15 07:03:57 浏览: 151
好的,以下是使用 C++ 语言实现的示例代码,实现了在 QListView 中检测用户双击了哪一行,并获取选中项的文本:
```cpp
#include <QListView>
#include <QStringListModel>
#include <QItemSelectionModel>
// 创建 QListView 和 QStringListModel
QListView* list_view = new QListView(this);
QStringListModel* model = new QStringListModel(this);
model->setStringList(QStringList() << "item1" << "item2" << "item3");
list_view->setModel(model);
list_view->setSelectionMode(QAbstractItemView::SingleSelection);
// 连接双击信号
connect(list_view, &QListView::doubleClicked, this, &MainWindow::handle_double_click);
void MainWindow::handle_double_click(const QModelIndex& index)
{
// 获取当前选中的项的索引
QModelIndex selected_index = list_view->currentIndex();
if (selected_index.isValid())
{
// 获取选中的项的文本
QString selected_text = selected_index.data().toString();
qDebug() << "Selected item: " << selected_text;
}
}
```
在上面的代码中,我们使用了 Qt 提供的 C++ API 来创建 QListView 和 QStringListModel,并设置了列表项的文本。然后,我们连接了 list_view 的 doubleClicked 信号到 handle_double_click() 方法。在 handle_double_click() 方法中,我们使用 currentIndex() 方法获取当前选中的项的索引,并检查该索引是否有效。如果有效,我们获取选中项的文本并打印出来。
阅读全文