Python 텍스트 스크롤 플레이어 구현 코드

효과.


더 블 클릭 하여 재생 시작,더 블 클릭 하면 재생 가속 화
오른쪽 단 추 를 누 르 면 메뉴 팝 업:재생,일시 정지,종료
왼쪽 단 추 를 누 르 면 창 을 드래그 할 수 있 습 니 다.
코드

from tkinter import *
import time
 
import tkinter as tk
 
file = "     .txt"
text=" "
 
bgcolor = '#000000'
fgcolor = '#FFFFFF'
 
def getText():
    global text
    #  
    with open(file, "r",encoding='utf-8') as f:
        #     
        text = f.read()    
#    
getText()
root = Tk()
#         
root.overrideredirect(True)
#     
root.wm_attributes("-topmost", 1)
#           
root.attributes("-alpha", 0.8)
#     
# root.title("     ")
#     
root.geometry("200x35+100+100")
#       
show_str = StringVar(root)
#       
show_str.set("    ")
#    
source_str = text
#     
playflag = True
 
#     
pos = 0
#   
def marquee(widget):
    #    
    textwidth = 18
    #      
    strlen = len(source_str)
    #       
    global pos
    #       -    <textwidth
    if strlen - pos < textwidth:
        #               (    ,    +    )+      (0,10-     +    )
        show_str.set(source_str[pos:pos+textwidth] + source_str[0:textwidth - strlen + pos])
    else:
        #     textwidth,   (    ,    +    )   
        show_str.set(source_str[pos:pos+textwidth])
    #    +1
    pos += 1
    #             
    if pos > strlen:
        #      0
        pos = 0
    #       
    global stopflag
    #          
    if playflag:
        #   0.3        
        widget.after(300, marquee, widget)
        
#     
show_lb = Label(root, textvariable=show_str,width=300, fg=fgcolor, bg=bgcolor, text=text, font=("Consolas", 10))
#       
show_lb.place(x=0, y=0, width=200, height=35)
 
def doubleClicktoPlay(event):
   global playflag
   #   
   playflag = True
   marquee(show_lb)
 
def playStart():
   global playflag
   #   
   playflag = True
   marquee(show_lb)
   
def playStop():
   global playflag
   #     
   playflag = False
 
#        
menu = tk.Menu(root, tearoff=0)
#          
menu.add_command(label="  ", command=playStart) 
menu.add_command(label="  ", command=playStop)
menu.add_command(label="  ", command=exit)
 
def popUpMenu(event):
        #            
        menu.post(event.x_root, event.y_root)
 
#      (  、  )    
root.bind_all("<ButtonRelease-3>", popUpMenu) 
 
def moveStart(event):
    global startX, startY
    #          x、y
    startX = event.x
    startY = event.y
 
def move(event):
     #   =      +    -    
    new_x = (event.x) + root.winfo_x() - startX
    new_y = (event.y) + root.winfo_y() - startY
    s = "200x35+" + str(new_x) + "+" + str(new_y)
    #             
    root.geometry(s)
    
#      (  、  )    
root.bind_all("<Button-1>", moveStart)  
root.bind_all("<B1-Motion>", move)
root.bind_all("<Double-Button-1>", doubleClicktoPlay) 
root.mainloop()
주:
텍스트 에 줄 바 꿈 문자 가 있 으 면 전환 이 원활 하지 않 습 니 다.
이 방법 으로 줄 바 꿈 자 를 삭제 할 수 있 습 니 다.
파 이 썬 텍스트 스크롤 플레이어 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.파 이 썬 스크롤 플레이어 에 관 한 더 많은 내용 은 예전 의 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 부 탁 드 리 겠 습 니 다!

좋은 웹페이지 즐겨찾기