2010-02-15 115 views
1

我需要編寫運行以這樣的方式所顯示的第一個數字I型中,當我按下操作數,條目插件仍然顯示類似於正常計算器一個代碼第一個號碼,但是當我按下我的第二個號碼時,第一個號碼被取代。我還沒有寫完整個代碼,但是我被卡在了當我按下第二個數字時,第一組被替換。我正在考慮如果key ==其中一個操作數,比我首先將該條目的num設置爲變量,那麼我會執行ent.delete(0,end)來清除屏幕,並將ent.insert(0,first)顯示條目小部件中的第一個數字。現在我不知道在按下第二個數字時如何清除輸入小部件。創建GUI計算器在python類似於MS計算器

+0

是否允許您使用PyQT或wxPython? – dassouki 2010-02-15 15:49:55

回答

2

你在這裏需要的是一個狀態的概念。每次按下某個鍵時,都會檢查狀態並確定要採取的操作。

在初始狀態下,輸入數字。

當按下操作數按鈕時,存儲操作數並更改狀態。

當按下另一個號碼時,您將存儲號碼,清除數字輸入並再次開始輸入號碼。

然後按下等號按鈕時,您將執行的操作,使用存儲的號碼,並與操作在數字輸入端的電流數量。

注意,用動態語言如Python,而不是使用一個變量,if語句來檢查狀態,你可以改變一個處理鍵/按鈕的功能取決於狀態是什麼壓制。