信号和插槽的连接(关于 qlistview) - Qt

Posted

技术标签:

【中文标题】信号和插槽的连接(关于 qlistview) - Qt【英文标题】:Connection of signals and slots (regarding qlistview) - Qt 【发布时间】:2017-06-07 07:29:51 【问题描述】:

我需要连接一个信号和一个插槽,但我似乎无法弄清楚它的结构,我需要连接一个 qlistview 双击,我需要从元素所在的顶部开始的数字,例如,如果我有一个包含 5 个元素的 qlistview,并且您单击了第二个元素,我需要知道第二个元素已被单击。在使用中,我正在建立网络连接,并且 qlistview 显示了可用的网络。

总结一下,我想知道我必须使用的代码的 sn-p 来实现这一点,因为我无法弄清楚。

【问题讨论】:

我会先阅读QAbstractItemView::doubleClicked的文档(QListView继承QAbstractItemView,你也可以在文档中看到) @Jonas 双击该项目时我设法执行了一个函数,但是,我似乎无法获得位置 ID。 @xander 我已经试过了,它工作得很好,当项目被双击时我设法执行了一个函数,但我似乎无法获得 qlistview 项目的 id。 请发minimal reproducible example 你的“id”是什么意思?发布一些您已经拥有和期望的代码。列表视图通常不包含任何数据,这取决于您的列表模型的实现以检索我猜的单击项目的一些数据。 【参考方案1】:

要获取点击项的行索引,您只需访问QListViewdoubleClicked 插槽中的QModelIndex,例如

int row = index.row();

也许您应该阅读introduction to Qt's model view classes 以大致了解一切是如何连接的。

【讨论】:

以上是关于信号和插槽的连接(关于 qlistview) - Qt的主要内容,如果未能解决你的问题,请参考以下文章

在代码中连接信号和插槽并在 QtCreator“信号和插槽编辑器”窗口中设置它们有啥区别?

Qt连接两个信号和一个插槽

Qt for Qt:如何连接到具有新信号/插槽风格的信号?

PyQt5 线程、信号和插槽。连接错误

连接子部件插槽上的信号

在循环中连接 PyQt4 中的插槽和信号