自己做量化交易软件(25)小白量化用户Python代码编辑器
在量化软件设计中,经常会需要用户编写Python策略代码,因此需要在量化软件中有代码编辑器的功能。
我们想实现下图那样的功能,使用小白量化框架提供的模块很容易。
这里需要使用小白新一代中的HP_tk.py模块。下面直接给出全部源代码,源代码中有注释。
#小白量化用户Python代码编辑器
#独狼荷蒲qq:2886002
#通通小白python量化群:524949939
#微信公众号:独狼股票分析
import tkinter as tk #导入Tkinter
import tkinter.ttk as ttk #导入Tkinter.ttk
import HP_tk as htk #导入htk
from PIL import Image, ImageTk, ImageDraw, ImageFont
#建立主窗口
root=htk.MainWindow(title='小白的Python编辑器',x=100,y=200,w=800, h=600)
root.iconbitmap('ico/py.ico') #设置应用程序图标
root.SetCenter() #移动到屏幕中央
#建立菜单
menus = [['文件',['执行程序','-','新建','打开','运行','-','保存','另存为']],\
['编辑',['撤销','重做','-','剪切','复制','粘贴','清除','-','全选']],\
['显示',['绘图','表格']],\
['程序',['运行','编译']],\
['帮助',['关于软件','退出']]]
mainmenu=htk.windowMenu(root,menus) #窗口菜单
png= ImageTk.PhotoImage(Image.open('ico/16x16/3.ICO'))
#建立工具栏
toolsbar=htk.ToolsBar(root,5) #创建工具栏
toolsbar.pack(side=tk.TOP, fill=tk.X) #把工具栏放到窗口顶部
png1= ImageTk.PhotoImage(Image.open('ico/New2.ico'))
png2= ImageTk.PhotoImage(Image.open('ico/FOLDER03.ICO'))
png3= ImageTk.PhotoImage(Image.open('ico/DISK04.ICO'))
png4= ImageTk.PhotoImage(Image.open('ico/clxokcnhlp1.ico'))
png5= ImageTk.PhotoImage(Image.open('ico/GRAPH07.ICO'))
#改变工具栏的图标
toolsbar.config(0,image=png1)
toolsbar.config(1,image=png2)
toolsbar.config(2,image=png3)
toolsbar.config(3,image=png4)
toolsbar.config(4,image=png5)
#建立状态栏
status=htk.StatusBar(root) #建立状态栏
status.pack(side=tk.BOTTOM, fill=tk.X) #把状态栏放到窗口底部
status.clear()
status.text(0,'状态栏') #在状态栏1输出信息
status.text(1,'超越自我!') #在状态栏2输出信息
status.text(2,'超越!是我们的每一步!')
status.text(3,'版权所有')
status.text(4,'侵权必究')
status.text(5,'设计:小白')
status.config(1,color='red') #改变状态栏2信息颜色
status.config(3,color='green') #改变状态栏2信息颜色
status.config(4,color='blue') #改变状态栏2信息颜色
#status.config(5,width=5) #改变状态栏6的宽度
#建立代码编辑器
myedit=htk.useredit(root)
myedit.pack()
#为工具栏按钮设置命令
toolsbar.config(0,command=myedit.newfile) #新文件
toolsbar.config(1,command=myedit.openfile) #打开文件
toolsbar.config(2,command=myedit.savefile) #保存文件
toolsbar.config(3,command=myedit.saveas) #另存文件
toolsbar.config(4,command=myedit.runuc) #运行程序
root.mainloop() #进入Tkinter消息循环
程序运行结果如下图。
京东、淘宝、当当网购买<零基础搭建量化投资系统――以Python为工具>正版书,加入读者群,群文件下载小白新一代量化系统源代码。