介绍一、基础说起
二,好戏开始了
小编给大家分享一下python如何使用tkinter实现透明窗体,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!
一、基础说起
(一)实现最简单的窗体
得到tkinter import * if __name__ ==, & # 39; __main__ # 39;: ,,,tk =, Tk () ,,,tk.geometry (& # 39; 500 x400 + 500 + 150 & # 39;) ,,,tk.title(& # 39;有趣的透明窗体——开篇了! ! ! & # 39;) ,,,canvas =,画布(tk) ,,,canvas.pack(填补=,,扩大=Y) ,,,tk.mainloop ()
太简单了,不详细说了,相信大家都看得懂。
效果:
二,好戏开始了
也许最有趣的透明窗体就是从这么简单的代码开始。
我们可以设置一个叫做透明色的颜色,然后让窗体帆布画一个矩形框,然后将这个矩形框的内色设置成透明色,那这个窗体不就透明了吗?
引用>呵呵,是不是太简单了。
那我们就开始设置一下。(一)把灰色设置成透明色
TRANSCOLOUR =, & # 39;灰色# 39; tk.wm_attributes (& # 39; -transparentcolor& # 39;,, TRANSCOLOUR)(二)放置一个矩形框在帆布上。
canvas.create_rectangle (0, 0, canvas.winfo_width (),, canvas.winfo_height(),,填补=TRANSCOLOUR,轮廓=TRANSCOLOUR)(三)大家有发现变化吗?
得到tkinter import * if __name__ ==, & # 39; __main__ # 39;: ,,,TRANSCOLOUR =, & # 39;灰色# 39; ,,,tk =, Tk () ,,,tk.geometry (& # 39; 500 x400 + 500 + 150 & # 39;) ,,,tk.title(& # 39;有趣的透明窗体——开篇了! ! ! & # 39;) ,,,canvas =,画布(tk) ,,,canvas.pack(填补=,,扩大=Y) ,,,canvas.create_rectangle (0, 0, canvas.winfo_width (),, canvas.winfo_height(),,填补=TRANSCOLOUR,轮廓=TRANSCOLOUR) ,,,tk.mainloop ()发现,程序完全不鸟我的代码,还是原来的老样子。
但是逻辑没有错误啊,代码也没有报错啊,那到底哪里错了呢?
引用>三,成功的背后总有残缺
不断摸索后,原来思路是对的,但是窗体很努力,它会不断的重复调用重画窗体的操作,也就是说在后面自动重画的过程中,程序调用默认的代码,把我设置的透明窗体覆盖了,所以,透明窗体不见了。
(一)让透明窗体不断重画的onsize函数
def on_resize (evt): ,,,tk.configure(宽度=evt.width高度=evt.height) ,,,canvas.create_rectangle (0, 0, canvas.winfo_width (),, canvas.winfo_height(),,填补=TRANSCOLOUR,轮廓=TRANSCOLOUR) ,,,印刷(canvas.winfo_width ())(二)绑定onsize函数
tk.bind (& # 39; & lt; Configure> & # 39;,, on_resize)(三)最终的效果
哈哈,效果出来了,真的透明的了,开心,高兴。
![]()
(四)录制了个动态看看
![]()
python的优点有哪些
1,简单易用,与C/c++、Java、c#等传统语言相比,python对代码格式的要求没有那么严格;2,python属于开源的,所有人都可以看到源代码,并且可以被移植在许多平台上使用;3,python面向对象,能够支持面向过程编程,也支持面向对象编程;4,python是一种解释性语言,python写的程序不需要编译成二进制代码,可以直接从源代码运行程序;5,python功能强大,拥有的模块众多,基本能够实现所有的常见功能。
以上是“python如何使用tkinter实现透明窗体”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
python如何使用tkinter实现透明窗体