gpt4 book ai didi

c++ - QT宏Q_SLOTS后类访问限制

转载 作者:行者123 更新时间:2023-11-30 03:33:31 29 4
gpt4 key购买 nike

我正在阅读 rviz 源代码。发现保护后的宏Q_SLOTS。我不确定这里的意思。 (我理解访问限制对类成员'proected'的意思)。

  class _RosTopicDisplay: public Display
{
Q_OBJECT
public:
_RosTopicDisplay()
{
topic_property_ = new RosTopicProperty("Topic", "",
"", "",
this, SLOT(updateTopic()));
unreliable_property_ = new BoolProperty("Unreliable", false,
"Prefer UDP topic transport",
this,
SLOT(updateTopic()));
}

protected Q_SLOTS:
virtual void updateTopic() = 0;

protected:
RosTopicProperty* topic_property_;
BoolProperty* unreliable_property_;
};

任何人都可以为我解释一下。

最佳答案

Q_SLOTS

Use this macro to replace the slots keyword in class declarations, when you want to use Qt Signals and Slots with a 3rd party signal/slot mechanism.

The macro is normally used when no_keywords is specified with the CONFIG variable in the .pro file, but it can be used even when no_keywords is not specified.

它基本上是一个更安全的 slots 版本,它很可能被其他一些库使用。至于访问说明符 - 插槽也支持,与常规方法一样适用相同的规则,但 IIRC 除外,您可以绕过受限访问并通过元系统调用此类插槽。

关于c++ - QT宏Q_SLOTS后类访问限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42798103/

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