全网VIP影视自由!Python神器源码

全网VIP影视自由!Python神器源码

QQ_1747933533173.png

厌倦了各大平台VIP层层收费?  

 拒绝重复充值       拒绝平台限制

import sys
import webbrowser
from PyQt5.QtWidgets import (QApplication, QMainWindow, QWidget, QVBoxLayout, QHBoxLayout, 
                            QLabel, QLineEdit, QPushButton, QFrame, QMessageBox)
from PyQt5.QtCore import Qt, QPropertyAnimation, QRect, QEasingCurve, pyqtSignal, QPoint
from PyQt5.QtGui import QFont, QIcon, QColor, QPalette, QPainter, QBrush, QPen, QLinearGradient

class ModernWindow(QMainWindow):
    """自定义现代窗口"""
    def __init__(self, parent=None):
        super().__init__(parent)
        self.setWindowFlags(Qt.FramelessWindowHint)
        self.setAttribute(Qt.WA_TranslucentBackground)
        self.dragPosition = QPoint()
        
        # 设置窗口大小和标题
        self.resize(550, 320)
        self.setWindowTitle("VIP视频播放助手")
        
        # 创建中心部件和布局
        self.central_widget = QWidget()
        self.setCentralWidget(self.central_widget)
        self.main_layout = QVBoxLayout(self.central_widget)
        self.main_layout.setContentsMargins(0, 0, 0, 0)
        
        # 创建主框架
        self.main_frame = QFrame()
        self.main_frame.setObjectName("main_frame")
        self.main_frame.setStyleSheet("""
            #main_frame {
                background-color: #1E1E1E;
                border-radius: 15px;
                border: 1px solid #303030;
            }
        """)
        self.main_layout.addWidget(self.main_frame)
        
        # 创建内容布局
        self.content_layout = QVBoxLayout(self.main_frame)
        self.content_layout.setContentsMargins(20, 20, 20, 20)
        
        # 创建标题栏
        self.title_bar = QWidget()
        self.title_bar.setFixedHeight(30)
        self.title_layout = QHBoxLayout(self.title_bar)
        self.title_layout.setContentsMargins(0, 0, 0, 0)
        
        # 标题标签
        self.title_label = QLabel("VIP视频播放助手")
        self.title_label.setStyleSheet("color: #FFFFFF; font-size: 14px; font-weight: bold;")
        self.title_layout.addWidget(self.title_label, alignment=Qt.AlignLeft)
        
        # 窗口控制按钮
        self.minimize_button = QPushButton("—")
        self.minimize_button.setFixedSize(25, 25)
        self.minimize_button.setStyleSheet("""
            QPushButton {
                background-color: #303030;
                color: #FFFFFF;
                border-radius: 12px;
                font-size: 16px;
            }
            QPushButton:hover {
                background-color: #4A90E2;
            }
        """)
        self.minimize_button.clicked.connect(self.showMinimized)
        
        self.close_button = QPushButton("×")
        self.close_button.setFixedSize(25, 25)
        self.close_button.setStyleSheet("""
            QPushButton {
                background-color: #303030;
                color: #FFFFFF;
                border-radius: 12px;
                font-size: 16px;
            }
            QPushButton:hover {
                background-color: #E53935;
            }
        """)
        self.close_button.clicked.connect(self.close)
        
        self.title_layout.addWidget(self.minimize_button)
        self.title_layout.addWidget(self.close_button)
        
        self.content_layout.addWidget(self.title_bar)
        
        # 添加分隔线
        self.separator = QFrame()
        self.separator.setFrameShape(QFrame.HLine)
        self.separator.setStyleSheet("color: #303030;")
        self.content_layout.addWidget(self.separator)
        
        # 创建应用内容区域
        self.app_content = QWidget()
        self.content_layout.addWidget(self.app_content, 1)
        
        # 创建内容布局
        self.app_layout = QVBoxLayout(self.app_content)
        self.app_layout.setSpacing(15)
        
        # 视频链接输入区域
        self.link_layout = QHBoxLayout()
        
        self.link_label = QLabel("视频链接:")
        self.link_label.setStyleSheet("color: #FFFFFF; font-size: 12px;")
        self.link_layout.addWidget(self.link_label)
        
        self.link_input = QLineEdit()
        self.link_input.setStyleSheet("""
            QLineEdit {
                background-color: #303030;
                color: #FFFFFF;
                border: 1px solid #404040;
                border-radius: 5px;
                padding: 5px;
                font-size: 12px;
            }
            QLineEdit:focus {
                border: 1px solid #4A90E2;
            }
        """)
        self.link_layout.addWidget(self.link_input, 1)
        
        self.clear_button = QPushButton("清空")
        self.clear_button.setFixedSize(60, 30)
        self.clear_button.setStyleSheet("""
            QPushButton {
                background-color: #303030;
                color: #FFFFFF;
                border-radius: 5px;
                font-size: 12px;
            }
            QPushButton:hover {
                background-color: #4A90E2;
            }
        """)
        self.clear_button.clicked.connect(self.clear_input)
        self.link_layout.addWidget(self.clear_button)
        
        self.app_layout.addLayout(self.link_layout)
        
        # 平台按钮区域
        self.platforms = [
            {"name": "爱奇艺", "url": "https://www.iqiyi.com", "color": "#E50914"},
            {"name": "腾讯视频", "url": "https://v.qq.com", "color": "#00A1D6"},
            {"name": "优酷", "url": "https://www.youku.com", "color": "#FF7F00"},
            {"name": "芒果TV", "url": "https://www.mgtv.com", "color": "#FF4E6A"},
            {"name": "哔哩哔哩", "url": "https://www.bilibili.com", "color": "#FB7299"}
        ]
        
        self.platform_layout = QHBoxLayout()
        self.platform_layout.setSpacing(10)
        
        for platform in self.platforms:
            btn = QPushButton(platform["name"])
            btn.setFixedHeight(40)
            btn.setStyleSheet(f"""
                QPushButton {{
                    background-color: {platform["color"]};
                    color: #FFFFFF;
                    border-radius: 5px;
                    font-size: 12px;
                    font-weight: bold;
                }}
                QPushButton:hover {{
                    background-color: {self.lighter_color(platform["color"], 0.8)};
                }}
            """)
            btn.clicked.connect(lambda checked, url=platform["url"]: self.open_url(url))
            self.platform_layout.addWidget(btn)
        
        self.app_layout.addLayout(self.platform_layout)
        
        # 播放按钮
        self.play_button = QPushButton("播放VIP视频")
        self.play_button.setFixedHeight(45)
        self.play_button.setStyleSheet("""
            QPushButton {
                background-color: #4A90E2;
                color: #FFFFFF;
                border-radius: 5px;
                font-size: 14px;
                font-weight: bold;
            }
            QPushButton:hover {
                background-color: #5CA1F3;
            }
            QPushButton:pressed {
                background-color: #3A80D2;
            }
        """)
        self.play_button.clicked.connect(self.play_video)
        self.app_layout.addWidget(self.play_button)
        
        # 提示信息
        self.tip_label = QLabel("提示:将视频链接复制到框内,点击播放按钮即可观看VIP视频")
        self.tip_label.setStyleSheet("color: #999999; font-size: 11px;")
        self.tip_label.setAlignment(Qt.AlignCenter)
        self.app_layout.addWidget(self.tip_label)
        
        # 版权信息
        self.copyright_label = QLabel("© 2023 VIP视频播放助手 - 仅供学习交流使用")
        self.copyright_label.setStyleSheet("color: #666666; font-size: 10px;")
        self.copyright_label.setAlignment(Qt.AlignCenter)
        self.app_layout.addWidget(self.copyright_label)
        
        # 添加动画效果
        self.animation = QPropertyAnimation(self, b"geometry")
        self.animation.setDuration(300)
        self.animation.setEasingCurve(QEasingCurve.InOutQuad)
    
    def mousePressEvent(self, event):
        """鼠标按下事件处理"""
        if event.button() == Qt.LeftButton:
            self.dragPosition = event.globalPos() - self.frameGeometry().topLeft()
            event.accept()
    
    def mouseMoveEvent(self, event):
        """鼠标移动事件处理"""
        if event.buttons() & Qt.LeftButton:
            self.move(event.globalPos() - self.dragPosition)
            event.accept()
    
    def lighter_color(self, color_hex, factor):
        """使颜色变亮"""
        color = QColor(color_hex)
        h, s, v, a = color.getHsv()
        v = min(255, int(v * factor))
        return QColor.fromHsv(h, s, v).name()
    
    def open_url(self, url):
        """打开网页链接"""
        webbrowser.open(url)
    
    def clear_input(self):
        """清空输入框"""
        self.link_input.clear()
    
    def play_video(self):
        """播放视频"""
        video_url = self.link_input.text().strip()
        if not video_url:
            QMessageBox.warning(self, "提示", "请输入视频链接")
            return
        
        # 播放地址前缀
        play_prefix = 'https://jx.xmflv.cc/?url='
        webbrowser.open(play_prefix + video_url)
    
    def showEvent(self, event):
        """窗口显示事件"""
        super().showEvent(event)
        # 窗口出现动画
        start_rect = QRect(self.x(), self.y() + 20, self.width(), self.height())
        end_rect = QRect(self.x(), self.y(), self.width(), self.height())
        
        self.animation.setStartValue(start_rect)
        self.animation.setEndValue(end_rect)
        self.animation.start()

if __name__ == "__main__":
    # 确保中文显示正常
    font = QFont("Microsoft YaHei")
    
    app = QApplication(sys.argv)
    app.setFont(font)
    app.setStyle("Fusion")
    
    # 设置全局样式
    palette = QPalette()
    palette.setColor(QPalette.Window, QColor(30, 30, 30))
    palette.setColor(QPalette.WindowText, Qt.white)
    palette.setColor(QPalette.Base, QColor(25, 25, 25))
    palette.setColor(QPalette.AlternateBase, QColor(53, 53, 53))
    palette.setColor(QPalette.ToolTipBase, Qt.white)
    palette.setColor(QPalette.ToolTipText, Qt.white)
    palette.setColor(QPalette.Text, Qt.white)
    palette.setColor(QPalette.Button, QColor(53, 53, 53))
    palette.setColor(QPalette.ButtonText, Qt.white)
    palette.setColor(QPalette.BrightText, Qt.red)
    palette.setColor(QPalette.Link, QColor(42, 130, 218))
    palette.setColor(QPalette.Highlight, QColor(42, 130, 218))
    palette.setColor(QPalette.HighlightedText, Qt.black)
    app.setPalette(palette)
    
    window = ModernWindow()
    window.show()
    
    sys.exit(app.exec_())

只提供源码,如何需要使用,自行编译即可。


转载请说明出处,本文来自[original]
老黑源码 » 全网VIP影视自由!Python神器源码

发表评论

欢迎 访客 发表评论

 
QQ在线咨询
站长QQ
2027915761
站长微信
lianwo9