在我一年的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