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
文章为作者独立观点不代本网立场,未经允许不得转载。