請教高手 Qt4.6 State Machine

喜歡程式設計嗎?想要一窺 KDE/Qt 程式設計的奧秘嗎?想要
學習 X Window 上的視窗程式設計嗎?歡迎各類關於 KDE/Qt、Qtopia、Qt/Embedded、QSA、PyQt 等各類心得討論。

版主: AceLan, Franklin

請教高手 Qt4.6 State Machine

文章yy2010 » 週四 10月 29, 2009 10:28 pm

我目前的gui程式必須考慮按鈕執行順序,例如按完 button 1 2 才能按 button 3 而且萬一中途退出程式要能夠 回復上一次狀態...

想來想去用 State Machine 應該可以做到,請問一下 State Machine 要怎樣實現? 如果是 main 下面的 Class 那主要 main window 要放哪邊? 如果是放在 main window 下面又很怪 (其實應該是 main window = state machine) 請教高手應該怎樣安排?
yy2010
可愛的小學生
可愛的小學生
 
文章: 8
註冊時間: 週四 10月 29, 2009 10:15 pm

文章siyuan.nz » 週四 11月 05, 2009 3:34 pm

如果要能夠在下次開起時恢復上次關閉時的狀態就得將狀態存檔。
state machine 就看你想用 Qt 提供的或是自己寫一個 class 把 state 和 state 相關連的動做放在這個 class 裡,然後寫 getState() 跟 setState() 去存/讀 state。然後在你的 MainWindow class 裡寫一個 signal,每當有按鈕被按時發一 signal,相對應的 slot 就去判斷現在的 state,然後決定下一個 state 是什麼。

簡單的 state machine 就自己寫,複雜一點的就用 Qt 提供的吧。
siyuan.nz
可愛的小學生
可愛的小學生
 
文章: 27
註冊時間: 週四 5月 31, 2007 3:57 pm
來自: 紐西蘭


回到 KDE/Qt 程式設計

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客