• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    python使用tkinter实现透明窗体

    一、基础说起

    (一)实现最简单的窗体

    from tkinter import *
    
    if __name__ == '__main__':
    
        tk = Tk()
        tk.geometry('500x400+500+150')
        tk.title('有趣的透明窗体-开篇了!!!')
        canvas = Canvas(tk)
        canvas.pack(fill=BOTH, expand=Y)
        tk.mainloop()
    

    太简单了,不详细说了,相信大家都看得懂。
    效果:

    感觉空寥寥的,什么都没有,好无聊啊。

    二、好戏开始了

    也许最有趣的透明窗体就是从这么简单的代码开始。

    我们可以设置一个叫做透明色的颜色,然后让窗体canvas画一个矩形框,然后将这个矩形框的内色设置成透明色,那这个窗体不就透明了吗?

    呵呵,是不是太简单了。
    那我们就开始设置一下。

    (一)把灰色设置成透明色

    TRANSCOLOUR = 'gray'
    tk.wm_attributes('-transparentcolor', TRANSCOLOUR)
    

    (二)放置一个矩形框在canvas上。

    canvas.create_rectangle(0, 0, canvas.winfo_width(), canvas.winfo_height(), fill=TRANSCOLOUR, outline=TRANSCOLOUR)
    

    (三)大家有发现变化吗?

    from tkinter import *
    
    if __name__ == '__main__':
        TRANSCOLOUR = 'gray'
        tk = Tk()
        tk.geometry('500x400+500+150')
        tk.title('有趣的透明窗体-开篇了!!!')
    
        canvas = Canvas(tk)
        canvas.pack(fill=BOTH, expand=Y)
    
        canvas.create_rectangle(0, 0, canvas.winfo_width(), canvas.winfo_height(), fill=TRANSCOLOUR, outline=TRANSCOLOUR)
        tk.mainloop()
    
    

    发现,程序完全不鸟我的代码,还是原来的老样子。

    但是逻辑没有错误啊,代码也没有报错啊,那到底哪里错了呢?

    三、成功的背后总有残缺

    不断摸索后,原来思路是对的,但是窗体很努力,它会不断的重复调用重画窗体的操作,也就是说在后面自动重画的过程中,程序调用默认的代码,把我设置的透明窗体覆盖了,所以,透明窗体不见了。

    (一)让透明窗体不断重画的onsize函数

    def on_resize(evt):
        tk.configure(width=evt.width,height=evt.height)
        canvas.create_rectangle(0, 0, canvas.winfo_width(), canvas.winfo_height(), fill=TRANSCOLOUR, outline=TRANSCOLOUR)
        print(canvas.winfo_width())
    
    

    (二)绑定onsize函数

    tk.bind('Configure>', on_resize)
    

    (三)最终的效果

    哈哈,效果出来了,真的透明了,开心、高兴。

    (四)录制了个动态看看

    好吧,写完,完整的代码就先不发了,大家有兴趣可以看上面的过程,自己整合就可以凑成完整的代码,自己动动手,也许比我直接分享最终代码的效果更好。

    将一件事情做到极致,也许你会得到更大的快乐!
    比心!

    以上就是python使用tkinter实现透明窗体的详细内容,更多关于python tkinter实现透明窗体的资料请关注脚本之家其它相关文章!

    您可能感兴趣的文章:
    • python用tkinter开发的扫雷游戏
    • python tkinter Entry控件的焦点移动操作
    • python3.7.2 tkinter entry框限定输入数字的操作
    • Python基于Tkinter开发一个爬取B站直播弹幕的工具
    • Python基础之tkinter图形化界面学习
    • Python实战之用tkinter库做一个鼠标模拟点击器
    • python基于tkinter制作m3u8视频下载工具
    • Python中tkinter的用户登录管理的实现
    • python tkinter实现定时关机
    • 上帝为你开了一扇窗之Tkinter常用函数详解
    上一篇:python使用ProjectQ生成量子算法指令集
    下一篇:python爬虫之异常捕获及标签过滤详解
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    python使用tkinter实现透明窗体 python,使用,tkinter,实现,透明,