python中使用tkinter实现透明png的显示时结果不尽人意
# -*- coding: UTF-8 -*-
import tkinter
root = tkinter.Tk()
root.title('uncle1bo') #窗口标题
root.resizable(False, False) #固定窗口大小
windowWidth = 400 #获得当前窗口宽
windowHeight = 400 #获得当前窗口高
screenWidth,screenHeight = root.maxsize() #获得屏幕宽和高
geometryParam = '%dx%d+%d+%d'%(windowWidth, windowHeight, (screenWidth-windowWidth)/2, (screenHeight - windowHeight)/2)
root.geometry(geometryParam) #设置窗口大小及偏移坐标
root.wm_attributes('-topmost',1)#窗口置顶
root.overrideredirect(True) #窗口无边框
#label图片
img_gif = tkinter.PhotoImage(file = r"D:\Study\uncle1bo.logo.zs.png")#测试图片路径
label_img = tkinter.Label(root, image = img_gif)
label_img.pack()
root.mainloop()
蛤蟆住了,一时没有想到
可以透过图片,看到后面运行的窗口大概是
的效果,顺便问一下怎么让这个窗口定时[比如time.sleep(3)]之后自动关闭?
参考
https://www.jb51.net/article/212488.htm
TRANSCOLOUR = 'gray'
root.wm_attributes("-transparentcolor", TRANSCOLOUR) #设置'gray'为透明色
label_img = tkinter.Label(root, image = img_gif, bg=TRANSCOLOUR) #设置 label 背景色为透明色'gray'
定时3秒之后自动关闭是root.after(3000,lambda : root.quit())
你题目的解答代码如下:
# -*- coding: UTF-8 -*-
import tkinter
root = tkinter.Tk()
root.title('uncle1bo') #窗口标题
root.resizable(False, False) #固定窗口大小
windowWidth = 400 #获得当前窗口宽
windowHeight = 400 #获得当前窗口高
screenWidth,screenHeight = root.maxsize() #获得屏幕宽和高
geometryParam = '%dx%d+%d+%d'%(windowWidth, windowHeight, (screenWidth-windowWidth)/2, (screenHeight - windowHeight)/2)
root.geometry(geometryParam) #设置窗口大小及偏移坐标
root.wm_attributes('-topmost',1)#窗口置顶
root.overrideredirect(True) #窗口无边框
TRANSCOLOUR = 'gray'
root.wm_attributes("-transparentcolor", TRANSCOLOUR) #设置'gray'为透明色
#label图片
img_gif = tkinter.PhotoImage(file = r"D:\Study\uncle1bo.logo.zs.png")#测试图片路径
label_img = tkinter.Label(root, image = img_gif, bg=TRANSCOLOUR) #设置 label 背景色为透明色'gray'
label_img.pack()
root.after(3000,lambda : root.quit()) # 定时3秒之后自动关闭
root.mainloop()
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!