gpt4 book ai didi

c++ - Qt C++ : How to get event target object?

转载 作者:行者123 更新时间:2023-11-28 05:46:55 25 4
gpt4 key购买 nike

有一个容器Widget实例A,A内包含Widget实例C1、C2、C3……等。

有一个插槽处理 Widget A 的 action_triggreed() 信号。

有没有办法确定点击了哪个目标小部件 C1、C2、C3...?这种必要性的原因是包含许多小部件,并且在每个小部件上使用 connect() 方法没有意义,这将需要 50 多行额外的连接语句,每个一个!

例如:考虑一个带有很多按钮的 QToolBox。您将如何通过使用 QToolBox action_triggered 或类似信号来确定按下哪个按钮,而不单独为各个按钮使用信号和槽?

最佳答案

您可以使用 QObject::sender() 函数。

void A::triggeredSlot() {
QObject* obj = sender();
QButton* but = qobject_cast<QButton*>(obj);
}

只需使用正确的类型等

关于c++ - Qt C++ : How to get event target object?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36050747/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com