我對GUI小部件的stdin和key_events非常困惑。GUI小部件和stdin的key_events
通常在我看來,我認爲stdin是獲取鍵盤輸入的普通方法。例如,如果我有一個進程,那麼我可以使用標準輸入鍵盤輸入。這通常用於使子進程獲得鍵盤輸入的I/O方向。例如,我可以創建子進程.Popen(stdin = PIPE)
另一方面,對於GUI,我使用wx.TexCtrl或py.Shell.shell來捕獲關鍵事件,如輸入。
所以我很困惑這裏,如果我有一個GUI或pyShell運行,當我通過鍵盤打字時,是通過stdin還是通過GUI鍵事件捕獲系統?如果通過GUI鍵盤事件系統,我如何獲得鍵盤標準輸入?作爲普通的非GUI編程,我仍然可以簡單地將鍵盤輸入重定向到我的子進程(在GUI內)嗎?
非常感謝您的任何意見。
布賴恩,非常感謝你的回答。我先點擊你的答案。根據你的答案只是幾個問題。如果sys.stdin仍然存在,我可以在GUI程序中通過文件或鍵盤輸入輸入嗎?如果我在bash中從python啓動wxPython GUI,是在bash窗口中的sys.stdin?另外,根據您所描述的,似乎沒有用於GUI的sys.stdin用法,但是sys.stdout有時可能用於在textctrl小部件上打印出信息。所以基於pyCrust或者GUI的shell實際上只使用了sys.stdout,而不能使用sys.stdin,對嗎? – pepero 2011-01-31 20:43:43