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