用Tkinter打造GUI开发工具(44)Tkinter接管input输入语句

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

猜你喜欢

转载自blog.csdn.net/hepu8/article/details/107005044