关闭qlistwidget,双击任何项目

时间:2014-06-18 09:55:14

标签: qt

我在Qtreeview的一个单元格中使用qlistwidget作为整理 我已经为qtreelist的项目双击了一个处理程序。 Qlistview deligate的双击处理程序工作正常。

我的要求是双击qlistwidget的任何项目为qlistwidget关闭 请说明用于它的确切信号是什么。

双击qtreewidgetlist项目的插槽:---

void listWidgetDeligate::onListWidgetItemDoubleClicked(QListWidgetItem * item)
{

  // emit signal to close the deligate
}

双击处理程序将QListWidgetItem参数传递给插槽。

我如何使用这个参数来关闭为此发出信号的微妙方法?

1 个答案:

答案 0 :(得分:0)

如果您还没有为该小部件找到任何合适的内置信号,您可以随时在.h文件中定义自己的信号:

signals:

void closeOnDoubleClick();

如果你只需要你的插槽void listWidgetDeligate::onListWidgetItemDoubleClicked(QListWidgetItem * item)发出另一个信号而不做其他任何事情,你可以这样做

   connect(<the object of listWidgetDeligate>, 
SIGNAL(<signal that was previously connected to slot onListWidgetItemDoubleClicked>()), 
SIGNAL(closeOnDoubleClick()));

这意味着在发出onListWidgetItemDoubleClicked&gt;()之后,listWidgetDeligate将发出信号closeOnDoubleClick()

因此,您不需要插槽。 请记住,声明的信号和插槽的参数必须相同。