gpt4 book ai didi

c++ - Qt中如何从外部调用一个信号?

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

我知道如何从信号所在的类内部调用信号:通过使用emit。但是,如果我想从父对象外部调用它怎么办?

我想要这样做的原因是因为给定的 QPushButton 连接到一个插槽,该插槽选择使用 sender() 调用它的按钮。现在我想要调用该插槽的相同功能,但不是在手动单击按钮之后,而是从代码本身内部调用。通常我只是以编程方式调用插槽,但由于 sender() 的使用,这种方式是无效的:直接调用插槽不会给它按钮的 ID。

那么我如何“从外部”要求对象发出其信号之一?也就是说,如何让我的 QPushButton 从代码中发出 clicked() 信号,而不是通过用鼠标单击按钮?

最佳答案

您不能直接从父对象发出信号。

Only the class that defines a signal and its subclasses can emit the signal. (http://qt-project.org/doc/qt-4.8/signalsandslots.html#signals)

您可以在发出信号的 QPushButton emitClicked() 中定义一个方法。然后,您从代码中对 QPushButton 实例调用 emitClicked()

关于c++ - Qt中如何从外部调用一个信号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28592583/

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