用Tkinter打造GUI开发工具(39)Tkinter中的异形花形窗口
在前面我们介绍了以图片为主体的Tkinter皮肤框架,见博客前面的文章:用Tkinter打造GUI开发工具(23)软件窗口皮肤。
https://blog.csdn.net/hepu8/article/details/103592328
软件皮肤可以美化了很土气的Tkinter原始窗口。但是它给我们提供的是方形窗口,现在有了新问题,能够做圆形窗口吗?
当然可以,我开发的高级Tkinter模块HP_tk2就支持这个功能。
我们做圆形窗口有什么意义?没什么意义。我们打算做一个花瓣窗口和鱼窗口。
下面直接给出源代码。
#异形窗口演示
#独狼荷蒲qq:2775205
#通通小白python量化群:524949939
#电话微信:18578755056
#微信公众号:独狼股票分析
import tkinter as tk
import HP_tk2 as htk
root = tk.Tk()
root.geometry('500x500+200+100')
def closewindow():
root.destroy()
#花形窗口
sk=htk.Backskin(root,picture='img/hua2.png')
sk.bind('<ButtonRelease-3>', sk.onRightButtonUp) #鼠标右键关闭窗口
bt=tk.Button(root,text='Tkinter花形窗口')
bt.place(x=200,y=50)
bt2=tk.Button(root,text='X',command=closewindow)
bt2.place(x=390,y=110)
#鱼形窗口
top=tk.Toplevel(root)
top.geometry('500x300+200+100')
ska=htk.Backskin(top,picture='img/yu1.png')
ska.bind('<ButtonRelease-3>', sk.onRightButtonUp) #鼠标右键关闭窗口
bta=tk.Button(top,text='Tkinter鱼形窗口')
bta.place(x=50,y=130)
bt2a=tk.Button(top,text='X',command=closewindow)
bt2a.place(x=460,y=120)
root.mainloop()
程序运行结果如下图:
这2个窗口酷不酷?
自己再改进一下,可以做出屏幕天女散花动画。也可以做成游动的鱼。
上图是捕鱼程序的图片资源。定时改变背景图片,缩放窗口大小就能实现屏幕上的动画。用Python和Tkinter模块作QQ宠物游戏困难吗?
当然,我们聪明的读者说,用上面方式做QQ宠物太低级了。
因为我们前篇文章介绍了Tkinter的OpenGL组件,可以实现三维动画窗口。
也可以直接使用Tkinter的OpenCV组件,或者Tkinter的turtle组件或者Tkinter的Pygame组件直接显示动画文件,不是更爽吗?