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() #調用實例方法啟動軟件