0

我无法为 QTreeWidget 的 ItemClicked() SIGNAL 找到合适的模拟。

有没有办法模拟它以便生成 ItemClicked 信号?

例如:我们可以在 QTreeWidget 的派生类中发出 ItemClicked 但不能(作为 QT 规则)在它之外。

4

1 回答 1

0

您不能使用对emitA 类的调用来发出 B 类的信号。但请注意,信号和插槽的文档说:

“您可以将任意数量的信号连接到单个插槽,一个信号可以连接到任意数量的插槽。甚至可以将一个信号直接连接到另一个信号。(这将立即发出第二个信号每当第一个发出时。)”

因此,您可以通过在 A 类中声明与您希望 B 类发出的信号具有相同签名的信号并将信号连接在一起来解决此问题:

connect(
    myclass, SIGNAL(itemClicked(QTreeWidgetItem*, int)),
    treewidget, SIGNAL(itemClicked(QTreeWidgetItem*, int))
); 

然后发出 itemClicked from myclass。如果我没记错的话,它将适用于这种情况......并为您触发 treewidget 的 itemClicked 信号。

于 2011-12-09T03:46:42.003 回答