2011-08-13 17 views
-1

此代碼:Qt的動畫 - 成員不存在

QStateMachine *machine = new QStateMachine; 

    QState *state1 = new QState(machine->rootState()); 

我得到一個錯誤:
C:\用戶.. \ Animated_Button \ main.cpp中:13:錯誤:「類QStateMachine 'has no member named'rootState'

+0

正如它抱怨,它沒有名爲'rootState()'的成員。 http://doc.qt.nokia.com/latest/qstatemachine.html – Mahesh

+0

也許你應該檢查'QStateMachine'的文檔? –

+0

@Mahesh嗨,但我從這裏拿了這段代碼(最後一個例子):http://doc.qt.nokia.com/solutions/4/qtanimationframework/animation.html,有什麼我失蹤了嗎? – smallB

回答

2

確實,根據documentation,QStateMachine沒有名爲rootState的方法。根據this,它在一個點被刪除。文章陳述如下:

QStateMachine::rootState() is gone; the state machine now is the root state.

所以你的代碼來自一個過時的來源。你應該嘗試這樣做:

QStateMachine *machine = new QStateMachine; 

QState *state1 = new QState(machine); 
+0

嗨,這樣做,現在我得到一個錯誤:錯誤:'QState :: QState(常量QState&)'是私人的 – smallB

+0

@smallB這沒有任何意義,因爲我給你的代碼使用指針,而不是參考。你是否確實使用我的代碼? –

+0

不,我很抱歉我沒有使用你的代碼,現在確定你的代碼我得到:錯誤:'QState類'沒有任何成員'setPropertyOnEntry' – smallB