Python GUI编程之视频解析软件制作

203 篇文章 15 订阅

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理

( 想要学习Python?Python学习交流群:1039649593,满足你的需求,资料都已经上传群文件流,可以自行下载!还有海量最新2020python学习资料。 )
在这里插入图片描述

一、前言

同学们在闱暇之余是否喜欢看电影呢?但是面对国内各大视频网站的会员是否很无奈?今天老师带领大家使用python制作能免费观着电影的桌面软件。

二、所用到得库

import re
import tkinter as tk
from urllib import parse
import tkinter.messagebox as msgbox
import webbrowser

三、(思路):

正则表达式
桌面编程库
url解析包
消息盒子
控制浏览器的包

1.通过面向对象的方式去实现代码

# 利用python代码实现软件
'''
通过面向对象的方式去实现代码
'''
class App:
    # 重写构造函数
    def __init__(self, width=500, height=300):
        # 定义类属性
        self.w = width
        self.h = height

        # 软件名称
        self.title = '视频解析助手'
        self.root = tk.Tk(className=self.title)
        # 用户在解析视频时需要传入视频的链接地址,需要软件去接收
        self.url = tk.StringVar()
        # 声明解析通道默认选中的属性
        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()

        # 控件的位置确定
        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=2, ipadx=10, ipady=10)
  1. 定义播放按钮功能
  # 定义播放按钮功能
    def video_play(self):
        # 解析地址 第三方
        port = 'http://www.wmxz.wang/video.php?url='
        # 使用正则表达式去匹配用户所输入的信息是否合法
        if re.match(r'https?:/{2}\w.+$', self.url.get()):
            # 如果匹配成功 则拿到用户输入的地址
            ip = self.url.get()
            # 网址解析
            ip = parse.quote_plus(ip)
            # 使用浏览器打开网页并播放视频
            webbrowser.open(port + ip)
        else:
            msgbox.showerror(title='错误', message='视频地址无效,请重新输入...')

3 软件启动函数

# 软件启动函数
    def loop(self):
        # 允许软件可以横向/纵向拖拽
        self.root.resizable(True, True)
        self.root.mainloop()
        if __name__ == '__main__':
    app = App()
    app.loop()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值