python GUI小案例(視頻播放)


from urllib import parse #到入urllib 包
import tkinter.messagebox as msgbox #到入消息錯誤提示框
import tkinter as tk #GUI 編程包
import webbrowser #控制瀏覽器的包
import re #正則表達式

class App(object):
  
  def __init__(self,width=500,height=300):#構造方法
    self.w = wdth #寬度
    self.h = heigh #高度

    self.title = "視頻助手"
  
    self.root = tk.TK(className = self.title) #軟件名稱
    self.url = tk.StringVar() #視頻url 為字符串類型
    self.v = tk.IntVar() #視頻播放源 類型
    self.v.set(1) #默認用第一個播放源

    # 軟件各個控件的布局
    
    #框架
    frame_1 = tk.Frame(self.root)
    frame_2 = tk.Frame(self.root)

    #框架一控件內容
    group = tk.Label(frame_1,text = "只有一個視頻播放通道:",padx=10,pady=10)
    tb = tk.Radiobutton(frame_1,text = "唯一通道",variable=self.v,value=1,width=10,height=3)

    #框架二
    label = tk.Label(frame_2, text = "請輸入視頻鏈接:")
    #輸入框定義
    entry = tk.Entry(frame_2, textvariable=self.url,
highlightcolor='Fuchsia', highlightthickness=1, width=35)
    #按鈕綁定函數
    play = tk.Button(frame_2, text='播放',
font=('楷體', 12), fg='Purple', width=2, height=1, command=self.video_play)
    
    #控件布局
    frame_1.pack()
    frame_2.pack()
    
    #確定控件位置 row 行 column 列
    group.grid(row = 0,column = 0)
    tb.grid(row = 0,column = 1)
    label.grid(row = 0,column = 0)
    entry.grid(row = 0,column = 1)
    play.grid(row = 0,column = 3,ipadx = 10,ipady = 10)

  def video_play(self):
    port = 'http://www.wmxz.wang/video.php?url=' #前半部分url
    
    #校驗輸入的url
    if re.match(r'^https?:/{2}\w.+$',self.url.get()):
      #得到用戶輸入的url
      ip = self.url.get()
      #對url 進行編碼
      ip = parse.quote_plus(ip)
      
      #利用瀏覽器去打開
      webbrowser.open(port + ip) #拼接完整url
      
  def loop(/self):
    self.root.resizable(True, True) #控制 軟件界面是否放大,縮小
    self.root.mainloop() #啟動

if __name__ == "__main__":
  app = App() #實例化軟件
  app.loop() #調用實例方法啟動軟件
  
    

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM