python-tkinter-text-insert的歌词动态滚动显示设计和思维

1 说明:

1.1 锻炼python思维,小白级别,大神请飘过,讲解的通俗易懂。

1.2 python3.8,tkinter自带,在制作音乐播放器的时候需要歌词滚动播放,基于此,为本次设计出发点。

1.3 顺带复习python的基础知识,在代码的注释中,适合收藏和转发,慢慢品味,本人亲测过。

2 常规音乐播放器歌词显示如下

3 用python实现,试试看看。

4 首先需要了解和掌握:tkinter的Text如何实时显示insert的内容的方法。

4.1 代码一:1.py

4.2 效果图

46时就不能显示继续的偶数,看不到了,bug

4.3 解决上面的这个bug

4.4 代码二:2.py

4.5 效果图

================================

基础知识是不是很枯燥呀!那就来实战代码

================================

5 准备

5.1 音乐文件mp3和lrc自己准备,网上去下载。

5.2 本机是:梦然的“少年.mp3”和歌词lrc结构如下

5.3 读取lrc文件和播放mp3音乐文件的音乐播放器,以前我讲过。

5.4 代码3.py

5.5 效果图

6 搞定,分享出来,打好基础。喜欢就收藏和转发,慢慢品味,思考。

「按键精灵安卓版」屏幕滚动显示的源码分享

说明一下:如果想要showmessage信息一直在屏幕上显示,就需要用到多线程。

效果展示

滚动显示代码如下:(显示不全可向右滑动)

Dim msg_arr(),msg_arrj(),msg_m=0

Thread.Start 主程序 //*****函数名后面不要写括号*****

Delay 1000

Do

dim msg=Thread.GetShareVar (\”show\”)

dim msg_n=0

If msg_m = 0 Then

msg_arr(msg_m) = msg

msg_m=msg_m+1

Else

If msg_arr(msg_m-1) = msg Then

TracePrint \”没有变化\”

Else

msg_arr(msg_m) = msg

msg_m=msg_m+1

End If

End If

If UBOUND(msg_arr) < 5 Then

msg_arrj = Clone(msg_arr)

Else

For j = UBOUND(msg_arr) – 5 To UBOUND(msg_arr)

msg_arrj(msg_n) = msg_arr(j)

msg_n=msg_n+1

Next

End If

ShowMessage Join(msg_arrj, \”\\n\”), 1000, 0, 0

Delay 100

Loop

Function 主程序()

For i = 1 To 25

Thread.SetShareVar \”show\”, \”拼接内容显示第\” & i & \”次\”

Delay 500

Next

End Function

代码中有些可调的地方:

①显示内容获取周期,源码是100毫秒,在第27行代码

②显示的行数,默认是6行,在第18行和第21行中的5是控制参数,如果想显示10行,可以把5改成9

代码已经做了内容去重操作,所以不用担心一条重复信息“刷屏”

本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com

点赞 0
收藏 0

文章为作者独立观点不代本网立场,未经允许不得转载。