在我一年的Qt编程中,我学到了很多关于信号和插槽的知识。但还不够......公共功能与公共时隙
http://doc.qt.io/qt-5/signalsandslots.html
插槽可用于接收信号,但他们也都正常 成员函数。
所以......有什么理由不申报的每一个功能,从QObject
继承,作为一个槽,它是否需要是一个或不是一类?
在上面的链接,他们举一个例子:
小基于QObject的级可能是:
#include <QObject> class Counter : public QObject { Q_OBJECT public: Counter() { m_value = 0; } int value() const { return m_value; } public slots: void setValue(int value); signals: void valueChanged(int newValue); private: int m_value; };
为什么定义value()
功能作为一个普通的函数,而不是一个插槽?如果他们确实把它作为一个插槽,会有什么负面结果吗?
这个答案没有丝毫意义,甚至没有解决这个问题。 – MrEricSir
您可以在插槽中使用返回值吗?或者甚至以正确的方式获取参考参数的值? – SuperFliege
@SuperFliege - 插槽只是一个函数,它的功能与函数完全相同。多线程和对象生命周期是完全不同的问题,并影响正常功能,就像它们影响插槽一样。 – dtech