在QT中如何設定一個signal?
如下:
class Test : public QObject
{
Q_OBJECT
public:
...
public slots:
void ReadTagInfo();
signals:
void cardidChanged();
private:
...
};
以這個範例來看,他connect設定如下:
connect(Test,SIGNAL(cardidChanged()), Test,SLOT(ReadTagInfo()));
而這個SIGNAL是如何觸發的呢?
這就要透過emit cardidChanged(),來觸發signal。使connect產生作用。如:
void Test::ShowTest()
{
...
emit cardidChanged();
...
}
當然也可以設定cardidChanged(int)、ReadTagInfo(int)。
產生觸發,並將函數(也是signal)cardidChanged()中的variable傳遞給函數(也是slot)ReadTagInfo()。
cardidChanged(variable) --> ReadTagInfo(variable)
當然也要記得他們的變數格式必須是一制的。
By 大亨
留言列表