python tkinter 循环显示文本_Python简易音乐播放器
上一篇介紹了點陣字展現(xiàn)動態(tài)歌詞,后續(xù)的思路有一條是添加圖形界面。這兩天搜了下tkinter圖形界面的帖子,做了個簡單的播放器界面,聽首《盜將行》感受下效果吧
Python圖形界面
圖形界面(GUI),即以圖形方式顯示計算機操作用戶界面。
Python支持第三方庫來實現(xiàn)圖形界面,例如Tk、wxWidgets及Qt等。其中,Python自帶的庫支持Tk,可以在代碼中直接調(diào)用內(nèi)置的Tkinter:
from tkinter import *root = Tk()root.mainloop()Text文本組件
上一篇已經(jīng)實現(xiàn)了將歌詞動態(tài)轉(zhuǎn)化為點陣信息,那么如何將點陣在圖形界面中展示呢?
一番權(quán)衡,我選擇了拿每個字的點陣信息來填充一個獨立的Text文本組件的方法,即每個16*16的點陣字?jǐn)?shù)據(jù)對應(yīng)一個16行32列的Text文本框。播放歌曲時,動態(tài)將歌詞文字的點陣信息通過insert方法填充到組件中以顯示在圖形界面中
多線程
圖形界面是通過mainloop()循環(huán)顯示的,之前通過time.sleep()來延時展現(xiàn)歌詞文本的思路就行不通了。
我暫時想到的是多線程方案,由于了解不深、漏洞較大,留作以后修正。目前是通過多線程的threading.Timer()來設(shè)置延時線程任務(wù),向圖形界面更新歌詞內(nèi)容以展現(xiàn)。
代碼下載
此外,代碼中還涉及比較瑣碎的Tkinter插入圖片、按鈕、輸入框、滾動條等,后臺回復(fù) 播放器 獲取代碼github下載鏈接
目前代碼還有挺多要改進(jìn)的細(xì)節(jié),后續(xù)會繼續(xù)更新。
思路總結(jié)
其實這個代碼最初只是想通過print來實現(xiàn)點陣字,實現(xiàn)了之后又想加一些應(yīng)用場景。于是就往動態(tài)展現(xiàn)歌詞方向靠攏,這個功能得到初步解決后就要面臨輸出展示方式的問題,所以又引出這篇中關(guān)于圖形界面的實現(xiàn)。
現(xiàn)在回顧,有種莫名其妙做了個播放器的感覺,以后還是應(yīng)該先定方向再來將其細(xì)節(jié)化比較好吧。
寫給新手
你看,Python入門階段的編碼并不難,想要實現(xiàn)某個功能,搜索相關(guān)內(nèi)容,理解思路后自己照著把代碼寫出來,有了新的想法繼續(xù)添加完善,慢慢地聚合為一個“小項目”。
當(dāng)然,基礎(chǔ)知識的學(xué)習(xí)是必須的,不然每次做項目寫代碼都去查,效率太低;而且基礎(chǔ)扎實了,更容易產(chǎn)生新奇簡介的思路,是非常有成就感的。
學(xué)習(xí)Python,只是缺一個理由來開始,一個理由來堅持。
總結(jié)
以上是生活随笔為你收集整理的python tkinter 循环显示文本_Python简易音乐播放器的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 485 九针头_三代德玛莎针头 九针头
- 下一篇: python字典下标是什么_python