Python任意形状的窗口本质!

Python任意形状的窗口本质!

python speak bubble两人对话

用Python新建一个任意形状的窗口本质是什么呢?其实就是去掉窗口的标题栏,然后把一种颜色设置为透明色。这样操作系统就不会渲染这种颜色,于是乎就呈现出仅图片的形状。下面的程序运行后会显示一个在计算机桌面上的姑娘。
python姑娘
以下是一个例子,当然也可以不用Sprite新建角色,直接用create_image创建图形也是一样的。

"""
   本程序需gameturtle模块支持。安装方法是按win+r键,打开命令提示符,
   即管理员窗口,输入以下命令 : pip install gameturtle
   
"""
import tkinter
from PIL import Image, ImageTk
from gameturtle import Sprite

root = tkinter.Tk()
root.config(bg='white')
# 不显示标题栏
root.overrideredirect(True)
# 设置白色透明色,这样图片中所有白色区域都被认为是透明的了
root.wm_attributes('-transparentcolor', 'white')

# 设置图片描绘的坐标,注意乘号是字母x
#root.geometry(f'{w}x{h}+200+100')
# 不允许修改大小
root.resizable(False, False)
cv = tkinter.Canvas(root,width=w*4,height=h*3,bg='white',bd=0)
cv.config(highlightbackground = "white", highlightcolor= "white")
cv.pack()

# 打开图片并设置尺寸
image = Image.open('姑娘2.jpg')
w,h = image.width//2,image.height//2
image = image.resize((w, h))

girl = Sprite(cv,image)
girl.say('你好,我是姑娘',20)

root.mainloop()

python speak bubble两人对话

李兴球

李兴球的博客是Python创意编程原创博客