您好,登錄后才能下訂單哦!
小編給大家分享一下python如何使用tkinter實現(xiàn)透明窗體,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
from tkinter import * if __name__ == '__main__': tk = Tk() tk.geometry('500x400+500+150') tk.title('有趣的透明窗體-開篇了?。。?#39;) canvas = Canvas(tk) canvas.pack(fill=BOTH, expand=Y) tk.mainloop()
太簡單了,不詳細說了,相信大家都看得懂。
效果:
也許最有趣的透明窗體就是從這么簡單的代碼開始。
我們可以設(shè)置一個叫做透明色的顏色,然后讓窗體canvas畫一個矩形框,然后將這個矩形框的內(nèi)色設(shè)置成透明色,那這個窗體不就透明了嗎?
呵呵,是不是太簡單了。
那我們就開始設(shè)置一下。
TRANSCOLOUR = 'gray' tk.wm_attributes('-transparentcolor', TRANSCOLOUR)
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()
發(fā)現(xiàn),程序完全不鳥我的代碼,還是原來的老樣子。
但是邏輯沒有錯誤啊,代碼也沒有報錯啊,那到底哪里錯了呢?
不斷摸索后,原來思路是對的,但是窗體很努力,它會不斷的重復調(diào)用重畫窗體的操作,也就是說在后面自動重畫的過程中,程序調(diào)用默認的代碼,把我設(shè)置的透明窗體覆蓋了,所以,透明窗體不見了。
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())
tk.bind('<Configure>', on_resize)
哈哈,效果出來了,真的透明了,開心、高興。
1、簡單易用,與C/C++、Java、C# 等傳統(tǒng)語言相比,Python對代碼格式的要求沒有那么嚴格;2、Python屬于開源的,所有人都可以看到源代碼,并且可以被移植在許多平臺上使用;3、Python面向?qū)ο?,能夠支持面向過程編程,也支持面向?qū)ο缶幊蹋?、Python是一種解釋性語言,Python寫的程序不需要編譯成二進制代碼,可以直接從源代碼運行程序;5、Python功能強大,擁有的模塊眾多,基本能夠?qū)崿F(xiàn)所有的常見功能。
以上是“python如何使用tkinter實現(xiàn)透明窗體”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。