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