用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代码编辑器非常简单。