我在Qtreeview的一个单元格中使用qlistwidget作为整理 我已经为qtreelist的项目双击了一个处理程序。 Qlistview deligate的双击处理程序工作正常。
我的要求是双击qlistwidget的任何项目为qlistwidget关闭 请说明用于它的确切信号是什么。
双击qtreewidgetlist项目的插槽:---
void listWidgetDeligate::onListWidgetItemDoubleClicked(QListWidgetItem * item)
{
// emit signal to close the deligate
}
双击处理程序将QListWidgetItem参数传递给插槽。
我如何使用这个参数来关闭为此发出信号的微妙方法?
答案 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()
。
因此,您不需要插槽。 请记住,声明的信号和插槽的参数必须相同。