gpt4 book ai didi

c++ - 在 Qt 中使用公共(public)插槽而不是私有(private)插槽有什么不同吗?

转载 作者:IT老高 更新时间:2023-10-28 12:55:58 25 4
gpt4 key购买 nike

在 C++ 中,public 表示可以从对象可见的任何地方访问的那些成员,private 表示只能从同一类的其他成员中访问的成员或来自他们的 friend 。

但在 Qt 中,private slotspublic slots 的区别似乎不存在。最近开始写Qt,一直在用private slots

有人告诉我应该改用 public slot。所以现在我很困惑。我在 Qt 的文档中找不到引用信息。

这两种类型的实际区别是什么?

最佳答案

来自 Qt Documentation :

Since slots are normal member functions, they follow the normal C++ rules when called directly. However, as slots, they can be invoked by any component, regardless of its access level, via a signal-slot connection. This means that a signal emitted from an instance of an arbitrary class can cause a private slot to be invoked in an instance of an unrelated class.

这是什么意思:从另一个类中,您不能将私有(private)槽作为函数调用,但如果您发出连接到该私有(private)槽的信号,则可以调用它。

关于c++ - 在 Qt 中使用公共(public)插槽而不是私有(private)插槽有什么不同吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17011414/

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