欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python使用tkinter實現(xiàn)透明窗體

 更新時間:2021年05月17日 16:03:16   作者:dhjabc_1  
一直在思索實現(xiàn)一個透明的窗體,然后可以基于這個窗體可以開發(fā)出各種好玩的應用(如桌面運動的小人、運動的小球、截圖、錄制GIF等等),今天無意間居然讓我把其中一個最核心的技術難關突破了,我非常高興,也借這個機會跟大家分享一下。

一、基礎說起

(一)實現(xiàn)最簡單的窗體

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)

(三)大家有發(fā)現(xiàn)變化嗎?

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),程序完全不鳥我的代碼,還是原來的老樣子。

但是邏輯沒有錯誤啊,代碼也沒有報錯啊,那到底哪里錯了呢?

三、成功的背后總有殘缺

不斷摸索后,原來思路是對的,但是窗體很努力,它會不斷的重復調用重畫窗體的操作,也就是說在后面自動重畫的過程中,程序調用默認的代碼,把我設置的透明窗體覆蓋了,所以,透明窗體不見了。

(一)讓透明窗體不斷重畫的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)

(三)最終的效果

哈哈,效果出來了,真的透明了,開心、高興。

(四)錄制了個動態(tài)看看

好吧,寫完,完整的代碼就先不發(fā)了,大家有興趣可以看上面的過程,自己整合就可以湊成完整的代碼,自己動動手,也許比我直接分享最終代碼的效果更好。

將一件事情做到極致,也許你會得到更大的快樂!
比心!

以上就是python使用tkinter實現(xiàn)透明窗體的詳細內容,更多關于python tkinter實現(xiàn)透明窗體的資料請關注腳本之家其它相關文章!

相關文章

  • 完美解決keras 讀取多個hdf5文件進行訓練的問題

    完美解決keras 讀取多個hdf5文件進行訓練的問題

    這篇文章主要介紹了完美解決keras 讀取多個hdf5文件進行訓練的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • 分析Python編程時利用wxPython來支持多線程的方法

    分析Python編程時利用wxPython來支持多線程的方法

    這篇文章主要介紹了Python編程時利用wxPython來支持多線程的方法,本文主要以開發(fā)GUI程序時做線程通訊作為一個示例來講解,需要的朋友可以參考下
    2015-04-04
  • Python的加密模塊之hashlib 與 base64詳解及常用加密方法

    Python的加密模塊之hashlib 與 base64詳解及常用加密方法

    我們來學習一下 Python 中的加密模塊,加密模塊在工作中被廣泛應用,比如數據的傳入 不希望被捕獲,通過把數據加密。這樣即使被捕獲也無法獲取到數據的真實信息,今天我們就來學習一下關于加密的方法,感興趣的朋友跟隨小編一起看看吧
    2023-02-02
  • 淺談python函數調用返回兩個或多個變量的方法

    淺談python函數調用返回兩個或多個變量的方法

    今天小編就為大家分享一篇淺談python函數調用返回兩個或多個變量的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • Python使用HTTP POST上傳WAV文件的方法

    Python使用HTTP POST上傳WAV文件的方法

    Python是一個非常流行的編程語言,可以用于開發(fā)不同類型的應用程序。其中,上傳文件是一個非常常見的需求。具體而言,我們探討了使用HTTP POST請求上傳單個和多個WAV文件的方法。無論你是需要將音頻文件上傳到云存儲還是服務器,這些方法都能幫助你上傳文件。
    2023-06-06
  • python利用WordCloud模塊實現(xiàn)詞云繪制

    python利用WordCloud模塊實現(xiàn)詞云繪制

    wordcloud是詞云繪圖模塊,封裝了WordCloud詞云類,是詞云的基本載體,下面小編就來和大家詳細講講如何利用WordCloud模塊實現(xiàn)詞云繪制吧,希望對大家有所幫助
    2023-10-10
  • 使用python爬蟲實現(xiàn)網絡股票信息爬取的demo

    使用python爬蟲實現(xiàn)網絡股票信息爬取的demo

    下面小編就為大家分享一篇使用python爬蟲實現(xiàn)網絡股票信息爬取的demo,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • 跟老齊學Python之通過Python連接數據庫

    跟老齊學Python之通過Python連接數據庫

    現(xiàn)在在做python的時候需要用到數據庫,于是自己重新整理了一下數據庫的知識,并且熟悉了python中MysqlDB模塊的功能和函數等接口,現(xiàn)在系統(tǒng)地來總結一下吧
    2014-10-10
  • Python?使用csv庫處理CSV文件的方法

    Python?使用csv庫處理CSV文件的方法

    Python中集成了專用于處理csv文件的庫,名為:csv,本文給大家介紹了Python使用csv庫處理CSV文件的方法及csv庫中4個常用的對象,結合實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2023-06-06
  • Python實現(xiàn)變聲器功能(蘿莉音御姐音)

    Python實現(xiàn)變聲器功能(蘿莉音御姐音)

    這篇文章主要介紹了Python實現(xiàn)變聲器功能(蘿莉音御姐音),本文圖文實例代碼相結合給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-12-12

最新評論