用Tkinter打造GUI開發工具(44)Tkinter接管input輸入語句
在前面博客介紹了用Tkinter做Python編輯器,我們看到可以運行Python代碼,問題是,代碼輸入信息從哪裏輸入?如果沒有在Python編輯器中,我們無法進行輸入信息。
因此我們需要在程序中獲取input語句輸入權限,把這個輸入權限轉移給Tkinter的文本輸入對話框。
小白量化框架在HP_tk模塊已經提供了現成的功能,用戶只需要使用就可以了。
下面直接給出演示代碼,其中有詳細註釋。
#小白量化用戶Python代碼編輯器,輸入演示
#獨狼荷蒲qq:2886002
#通通小白python量化羣:524949939
#微信公衆號:獨狼股票分析
import tkinter as tk #導入Tkinter
import HP_tk as htk #導入htk
root=tk.Tk()
root.title('Tkinter的input輸入演示')
root.geometry('{}x{}+{}+{}'.format(300,200,100,100))
#創建輸入輸出控制權對象myconsole
myconsole=htk.console2()
#獲取系統輸入input/輸出print權
#接管print()函數和保存系統input語句
myconsole.SwitchOut2(sw=True)
#改變input語句爲myconsole.MyInput
input=myconsole.MyInput
#第1次輸入
x=input('請輸入:')
#釋放print權利給Python系統,同時返回text輸出信息
s2=myconsole.SwitchOut2(sw=False)
print(s2)
print('第一次輸入的內容:',x)
#恢復系統input語句
input=myconsole.sysinput
#第2次輸入
x2=input('請輸入2:')
print('第二次輸入的內容2:',x2)
root.mainloop()
程序運行後,出現輸入窗口。
我們輸入"123"後,點[ok]按鈕輸入文本信息。
恢復Python系統的input語句控制權後,第二次需要在Python編輯器中輸入信息"456".
在Spyder信息框運行的結果如下:
runfile('D:/xb2/小白量化輸入演示.py', wdir='D:/xb2')
Reloaded modules: HP_tk
第一次輸入的內容: 123
請輸入2:456
第二次輸入的內容2: 456
通過閱讀我最近寫的幾篇博客,是不是感覺自己編寫一個 Python代碼編輯器非常簡單。