python用pyqt6写一个开通VIP的界面

效果如下:

直接上源码:

from PyQt6.QtCore import *
from PyQt6.QtWidgets import *
from PyQt6.QtGui import *
from PyQt6.QtMultimedia import *
from PyQt6.QtMultimediaWidgets import *

class VIPSubscriptionWindow(QWidget):
    def __init__(self):
        super().__init__()

        self.setWindowTitle("开通贵族")
        self.setFixedSize(650, 550)

        self.initUI()

    def SwitchingPrices(self, widget, price):

        for i in range(1,10):

            eval(f"self.Service{i}").setStyleSheet('''
                QPushButton {
                    border: 1px solid rgb(200, 200, 200); /* 设置按钮边框 */
                }
                QPushButton:hover {
                    border-color: rgb(50, 50, 50); /* 悬浮时边框深灰色 */
                }
            ''')

        widget.setStyleSheet('''
            QPushButton {
                background-color : rgba(50, 50, 50, 15);
                border: 3px solid rgb(50, 50, 50); /* 设置按钮边框 */
            }
            QPushButton:hover {
                border-color: rgb(50, 50, 50); /* 悬浮时边框深灰色 */
            }
        ''')

        self.ImmediatePayment.setText(f"立即支付 ¥{price}")

    def initUI(self):

        self.Head = QLabel("",self)
        self.Head.setStyleSheet("""border: 1px solid black; font-size : 15px""")
        self.Head.setGeometry(20,20,50,50)

        self.Name = QLabel("宠",self)
        self.Name.setStyleSheet("""border: 0px solid black; font-size : 15px""")
        self.Name.setGeometry(80,20,550,25)

        self.Dimension = QLabel("未开通贵族",self)
        self.Dimension.setStyleSheet("""border: 0px solid black; font-size : 13px; color : gray""")
        self.Dimension.setGeometry(80,45,550,20)

        self.Dimension2 = QLabel("开通贵族畅享贵族专属特权+贵族专属商店",self)
        self.Dimension2.setStyleSheet("""border: 0px solid black; font-size : 16px; font-weight: bold; color : rgb(53,51,48);""")
        self.Dimension2.setGeometry(20,100,610,30)

        self.ServiceArea = QScrollArea(self)
        self.ServiceArea.setGeometry(0,150,650,200)
        self.ServiceArea.setStyleSheet('''
            QScrollArea {
                border: none;
            }
        ''')


        # 创建内容部件
        self.ServiceAreaInternal = QWidget(self.ServiceArea)
        self.ServiceAreaInternal.setGeometry(0, 0, 880, 490)  # 设置内容部件的位置和大小

        self.ServiceAreaInternal.setStyleSheet('''
            background: rgba(0, 0, 0, 0); /* 设置背景透明 */
            border: 0px solid white;
            border-radius: 15px; /* 可选:设置圆角半径 */
        ''')

        # 创建垂直布局管理器
        self.ServiceAreaLayout = QHBoxLayout(self.ServiceAreaInternal)
        self.ServiceAreaLayout.setSpacing(20)  # 设置控件之间的间距为20个像素

        # 将内容部件设置为滚动区域的可滚动部件
        self.ServiceArea.setWidget(self.ServiceAreaInternal)
        self.ServiceArea.setWidgetResizable(True)  # 允许内容部件调整大小以适应滚动区域

        "价格1"

        self.Service1 = QPushButton(self.ServiceArea)
        self.Service1.setFixedWidth(150)
        self.Service1.setFixedHeight(160)
        self.Service1.setCursor(Qt.CursorShape.PointingHandCursor)
        self.Service1.clicked.connect(lambda event : self.SwitchingPrices(self.Service1,288))
        self.Service1.setStyleSheet('''
            QPushButton {
                background-color : rgba(50, 50, 50, 15);
                border: 3px solid rgb(50, 50, 50); /* 设置按钮边框 */
            }
            QPushButton:hover {
                border-color: rgb(50, 50, 50); /* 悬浮时边框深灰色 */
            }
        ''')

        self.Service1Label = QLabel("1小时",self.Service1)
        self.Service1Label.setStyleSheet("""border: 0px solid black; font-size : 18px; font-weight: bold; color : rgb(53,51,48);""")
        self.Service1Label.setGeometry(0,40,150,20)
        self.Service1Label.setAlignment(Qt.AlignmentFlag.AlignCenter)

        self.Service1Money = QLabel("¥288",self.Service1)
        self.Service1Money.setStyleSheet("""border: 0px solid black; font-size : 30px; font-weight: bold; color : rgb(53,51,48);""")
        self.Service1Money.setGeometry(0,70,150,40)
        self.Service1Money.setAlignment(Qt.AlignmentFlag.AlignCenter)

        self.Service1Discount = QLabel("¥300",self.Service1)
        self.Service1Discount.setStyleSheet("""border: 0px solid black; font-size : 12px; font-weight: bold; color : gray; text-decoration: line-through;""")
        self.Service1Discount.setGeometry(0,130,150,20)
        self.Service1Discount.setAlignment(Qt.AlignmentFlag.AlignCenter)

        self.ServiceAreaLayout.addWidget(self.Service1)

        "价格2"

        self.Service2 = QPushButton(self.ServiceArea)
        self.Service2.setFixedWidth(150)
        self.Service2.setFixedHeight(160)
        self.Service2.setCursor(Qt.CursorShape.PointingHandCursor)
        self.Service2.clicked.connect(lambda event : self.SwitchingPrices(self.Service2,1288))
        self.Service2.setStyleSheet('''
            QPushButton {
                border: 1px solid rgb(200, 200, 200); /* 设置按钮边框 */
            }
            QPushButton:hover {
                border-color: rgb(50, 50, 50); /* 悬浮时边框深灰色 */
            }
        ''')

        self.Service2Label = QLabel("6小时",self.Service2)
        self.Service2Label.setStyleSheet("""border: 0px solid black; font-size : 18px; font-weight: bold; color : rgb(53,51,48);""")
        self.Service2Label.setGeometry(0,40,150,20)
        self.Service2Label.setAlignment(Qt.AlignmentFlag.AlignCenter)

        self.Service2Money = QLabel("¥1288",self.Service2)
        self.Service2Money.setStyleSheet("""border: 0px solid black; font-size : 30px; font-weight: bold; color : rgb(53,51,48);""")
        self.Service2Money.setGeometry(0,70,150,40)
        self.Service2Money.setAlignment(Qt.AlignmentFlag.AlignCenter)

        self.Service2Discount = QLabel("¥1800",self.Service2)
        self.Service2Discount.setStyleSheet("""border: 0px solid black; font-size : 12px; font-weight: bold; color : gray; text-decoration: line-through;""")
        self.Service2Discount.setGeometry(0,130,150,20)
        self.Service2Discount.setAlignment(Qt.AlignmentFlag.AlignCenter)

        self.ServiceAreaLayout.addWidget(self.Service2)

        "价格3"

        self.Service3 = QPushButton(self.ServiceArea)
        self.Service3.setFixedWidth(150)
        self.Service3.setFixedHeight(160)
        self.Service3.setCursor(Qt.CursorShape.PointingHandCursor)
        self.Service3.clicked.connect(lambda event : self.SwitchingPrices(self.Service3,2888))
        self.Service3.setStyleSheet('''
            QPushButton {
                border: 1px solid rgb(200, 200, 200); /* 设置按钮边框 */
            }
            QPushButton:hover {
                border-color: rgb(50, 50, 50); /* 悬浮时边框深灰色 */
            }
        ''')

        self.Service3Label = QLabel("12小时",self.Service3)
        self.Service3Label.setStyleSheet("""border: 0px solid black; font-size : 18px; font-weight: bold; color : rgb(53,51,48);""")
        self.Service3Label.setGeometry(0,40,150,20)
        self.Service3Label.setAlignment(Qt.AlignmentFlag.AlignCenter)

        self.Service3Money = QLabel("¥2888",self.Service3)
        self.Service3Money.setStyleSheet("""border: 0px solid black; font-size : 30px; font-weight: bold; color : rgb(53,51,48);""")
        self.Service3Money.setGeometry(0,70,150,40)
        self.Service3Money.setAlignment(Qt.AlignmentFlag.AlignCenter)

        self.Service3Discount = QLabel("¥3600",self.Service3)
        self.Service3Discount.setStyleSheet("""border: 0px solid black; font-size : 12px; font-weight: bold; color : gray; text-decoration: line-through;""")
        self.Service3Discount.setGeometry(0,130,150,20)
        self.Service3Discount.setAlignment(Qt.AlignmentFlag.AlignCenter)

        self.ServiceAreaLayout.addWidget(self.Service3)

        "价格4"

        self.Service4 = QPushButton(self.ServiceArea)
        self.Service4.setFixedWidth(150)
        self.Service4.setFixedHeight(160)
        self.Service4.setCursor(Qt.CursorShape.PointingHandCursor)
        self.Service4.clicked.connect(lambda event : self.SwitchingPrices(self.Service4,5288))
        self.Service4.setStyleSheet('''
            QPushButton {
                border: 1px solid rgb(200, 200, 200); /* 设置按钮边框 */
            }
            QPushButton:hover {
                border-color: rgb(50, 50, 50); /* 悬浮时边框深灰色 */
            }
        ''')

        self.Service4Label = QLabel("1天",self.Service4)
        self.Service4Label.setStyleSheet("""border: 0px solid black; font-size : 18px; font-weight: bold; color : rgb(53,51,48);""")
        self.Service4Label.setGeometry(0,40,150,20)
        self.Service4Label.setAlignment(Qt.AlignmentFlag.AlignCenter)

        self.Service4Money = QLabel("¥5288",self.Service4)
        self.Service4Money.setStyleSheet("""border: 0px solid black; font-size : 30px; font-weight: bold; color : rgb(53,51,48);""")
        self.Service4Money.setGeometry(0,70,150,40)
        self.Service4Money.setAlignment(Qt.AlignmentFlag.AlignCenter)

        self.Service4Discount = QLabel("¥7200",self.Service4)
        self.Service4Discount.setStyleSheet("""border: 0px solid black; font-size : 12px; font-weight: bold; color : gray; text-decoration: line-through;""")
        self.Service4Discount.setGeometry(0,130,150,20)
        self.Service4Discount.setAlignment(Qt.AlignmentFlag.AlignCenter)

        self.ServiceAreaLayout.addWidget(self.Service4)

        "价格5"

        self.Service5 = QPushButton(self.ServiceArea)
        self.Service5.setFixedWidth(150)
        self.Service5.setFixedHeight(160)
        self.Service5.setCursor(Qt.CursorShape.PointingHandCursor)
        self.Service5.clicked.connect(lambda event : self.SwitchingPrices(self.Service5,15888))
        self.Service5.setStyleSheet('''
            QPushButton {
                border: 1px solid rgb(200, 200, 200); /* 设置按钮边框 */
            }
            QPushButton:hover {
                border-color: rgb(50, 50, 50); /* 悬浮时边框深灰色 */
            }
        ''')

        self.Service5Label = QLabel("3天",self.Service5)
        self.Service5Label.setStyleSheet("""border: 0px solid black; font-size : 18px; font-weight: bold; color : rgb(53,51,48);""")
        self.Service5Label.setGeometry(0,40,150,20)
        self.Service5Label.setAlignment(Qt.AlignmentFlag.AlignCenter)

        self.Service5Money = QLabel("¥15888",self.Service5)
        self.Service5Money.setStyleSheet("""border: 0px solid black; font-size : 30px; font-weight: bold; color : rgb(53,51,48);""")
        self.Service5Money.setGeometry(0,70,150,40)
        self.Service5Money.setAlignment(Qt.AlignmentFlag.AlignCenter)

        self.Service5Discount = QLabel("¥21600",self.Service5)
        self.Service5Discount.setStyleSheet("""border: 0px solid black; font-size : 12px; font-weight: bold; color : gray; text-decoration: line-through;""")
        self.Service5Discount.setGeometry(0,130,150,20)
        self.Service5Discount.setAlignment(Qt.AlignmentFlag.AlignCenter)

        self.ServiceAreaLayout.addWidget(self.Service5)

        "价格6"

        self.Service6 = QPushButton(self.ServiceArea)
        self.Service6.setFixedWidth(150)
        self.Service6.setFixedHeight(160)
        self.Service6.setCursor(Qt.CursorShape.PointingHandCursor)
        self.Service6.clicked.connect(lambda event : self.SwitchingPrices(self.Service6,42888))
        self.Service6.setStyleSheet('''
            QPushButton {
                border: 1px solid rgb(200, 200, 200); /* 设置按钮边框 */
            }
            QPushButton:hover {
                border-color: rgb(50, 50, 50); /* 悬浮时边框深灰色 */
            }
        ''')

        self.Service6Label = QLabel("1周",self.Service6)
        self.Service6Label.setStyleSheet("""border: 0px solid black; font-size : 18px; font-weight: bold; color : rgb(53,51,48);""")
        self.Service6Label.setGeometry(0,40,150,20)
        self.Service6Label.setAlignment(Qt.AlignmentFlag.AlignCenter)

        self.Service6Money = QLabel("¥42888",self.Service6)
        self.Service6Money.setStyleSheet("""border: 0px solid black; font-size : 30px; font-weight: bold; color : rgb(53,51,48);""")
        self.Service6Money.setGeometry(0,70,150,40)
        self.Service6Money.setAlignment(Qt.AlignmentFlag.AlignCenter)

        self.Service6Discount = QLabel("¥50400",self.Service6)
        self.Service6Discount.setStyleSheet("""border: 0px solid black; font-size : 12px; font-weight: bold; color : gray; text-decoration: line-through;""")
        self.Service6Discount.setGeometry(0,130,150,20)
        self.Service6Discount.setAlignment(Qt.AlignmentFlag.AlignCenter)

        self.ServiceAreaLayout.addWidget(self.Service6)

        "价格7"

        self.Service7 = QPushButton(self.ServiceArea)
        self.Service7.setFixedWidth(150)
        self.Service7.setFixedHeight(160)
        self.Service7.setCursor(Qt.CursorShape.PointingHandCursor)
        self.Service7.clicked.connect(lambda event : self.SwitchingPrices(self.Service7,188888))
        self.Service7.setStyleSheet('''
            QPushButton {
                border: 1px solid rgb(200, 200, 200); /* 设置按钮边框 */
            }
            QPushButton:hover {
                border-color: rgb(50, 50, 50); /* 悬浮时边框深灰色 */
            }
        ''')

        self.Service7Label = QLabel("1个月",self.Service7)
        self.Service7Label.setStyleSheet("""border: 0px solid black; font-size : 18px; font-weight: bold; color : rgb(53,51,48);""")
        self.Service7Label.setGeometry(0,40,150,20)
        self.Service7Label.setAlignment(Qt.AlignmentFlag.AlignCenter)

        self.Service7Money = QLabel("¥188888",self.Service7)
        self.Service7Money.setStyleSheet("""border: 0px solid black; font-size : 30px; font-weight: bold; color : rgb(53,51,48);""")
        self.Service7Money.setGeometry(0,70,150,40)
        self.Service7Money.setAlignment(Qt.AlignmentFlag.AlignCenter)

        self.Service7Discount = QLabel("¥216000",self.Service7)
        self.Service7Discount.setStyleSheet("""border: 0px solid black; font-size : 12px; font-weight: bold; color : gray; text-decoration: line-through;""")
        self.Service7Discount.setGeometry(0,130,150,20)
        self.Service7Discount.setAlignment(Qt.AlignmentFlag.AlignCenter)

        self.ServiceAreaLayout.addWidget(self.Service7)

        "价格8"

        self.Service8 = QPushButton(self.ServiceArea)
        self.Service8.setFixedWidth(150)
        self.Service8.setFixedHeight(160)
        self.Service8.setCursor(Qt.CursorShape.PointingHandCursor)
        self.Service8.clicked.connect(lambda event : self.SwitchingPrices(self.Service8,988888))
        self.Service8.setStyleSheet('''
            QPushButton {
                border: 1px solid rgb(200, 200, 200); /* 设置按钮边框 */
            }
            QPushButton:hover {
                border-color: rgb(50, 50, 50); /* 悬浮时边框深灰色 */
            }
        ''')

        self.Service8Label = QLabel("6个月",self.Service8)
        self.Service8Label.setStyleSheet("""border: 0px solid black; font-size : 18px; font-weight: bold; color : rgb(53,51,48);""")
        self.Service8Label.setGeometry(0,40,150,20)
        self.Service8Label.setAlignment(Qt.AlignmentFlag.AlignCenter)

        self.Service8Money = QLabel("¥988888",self.Service8)
        self.Service8Money.setStyleSheet("""border: 0px solid black; font-size : 30px; font-weight: bold; color : rgb(53,51,48);""")
        self.Service8Money.setGeometry(0,70,150,40)
        self.Service8Money.setAlignment(Qt.AlignmentFlag.AlignCenter)

        self.Service8Discount = QLabel("¥1296000",self.Service8)
        self.Service8Discount.setStyleSheet("""border: 0px solid black; font-size : 12px; font-weight: bold; color : gray; text-decoration: line-through;""")
        self.Service8Discount.setGeometry(0,130,150,20)
        self.Service8Discount.setAlignment(Qt.AlignmentFlag.AlignCenter)

        self.ServiceAreaLayout.addWidget(self.Service8)

        "价格9"

        self.Service9 = QPushButton(self.ServiceArea)
        self.Service9.setFixedWidth(150)
        self.Service9.setFixedHeight(160)
        self.Service9.setCursor(Qt.CursorShape.PointingHandCursor)
        self.Service9.clicked.connect(lambda event : self.SwitchingPrices(self.Service9,1288888))
        self.Service9.setStyleSheet('''
            QPushButton {
                border: 1px solid rgb(200, 200, 200); /* 设置按钮边框 */
            }
            QPushButton:hover {
                border-color: rgb(50, 50, 50); /* 悬浮时边框深灰色 */
            }
        ''')

        self.Service9Label = QLabel("1年",self.Service9)
        self.Service9Label.setStyleSheet("""border: 0px solid black; font-size : 18px; font-weight: bold; color : rgb(53,51,48);""")
        self.Service9Label.setGeometry(0,40,150,20)
        self.Service9Label.setAlignment(Qt.AlignmentFlag.AlignCenter)

        self.Service9Money = QLabel("¥1288888",self.Service9)
        self.Service9Money.setStyleSheet("""border: 0px solid black; font-size : 30px; font-weight: bold; color : rgb(53,51,48);""")
        self.Service9Money.setGeometry(0,70,150,40)
        self.Service9Money.setAlignment(Qt.AlignmentFlag.AlignCenter)

        self.Service9Discount = QLabel("¥2628000",self.Service9)
        self.Service9Discount.setStyleSheet("""border: 0px solid black; font-size : 12px; font-weight: bold; color : gray; text-decoration: line-through;""")
        self.Service9Discount.setGeometry(0,130,150,20)
        self.Service9Discount.setAlignment(Qt.AlignmentFlag.AlignCenter)

        self.ServiceAreaLayout.addWidget(self.Service9)


        self.PaymentMethod = QLabel("支付方式      零钱",self)
        self.PaymentMethod.setStyleSheet("""border: 0px solid black; font-size : 13px; font-weight: bold; color : rgb(53,51,48);""")
        self.PaymentMethod.setGeometry(20,360,610,30)

        self.ImmediatePayment = QPushButton("立即支付 ¥288",self)
        self.ImmediatePayment.setCursor(Qt.CursorShape.PointingHandCursor)
        self.ImmediatePayment.setStyleSheet('''
            QPushButton {
                background-color: gray; /* 半透明灰色背景 */
                color: rgb(53,51,48); /* 设置按钮文字颜色 */
                padding: 5px 10px;
                border-radius: 25px; /* 设置圆角 */
                font-size: 18px;
                font-weight: bold;
            }
            QPushButton:hover {
                background-color: rgba(0, 0, 0, 100); /* 鼠标悬停时的背景颜色 */
            }
        ''')
        self.ImmediatePayment.setGeometry(180,420,310,50)

        self.Dimension3 = QLabel(self)
        self.Dimension3.setText('<html>贵族专享 <font size="5">10+</font> 项专属特权</html>')
        self.Dimension3.setStyleSheet("""border: 0px solid black; font-size : 14px; font-weight: bold; color : rgb(53,51,48);""")
        self.Dimension3.setGeometry(20,500,610,30)

        
        self.ServiceAreaLayout.setAlignment(Qt.AlignmentFlag.AlignLeft)


if __name__ == "__main__":
    app = QApplication([])
    window = VIPSubscriptionWindow()
    window.show()
    app.exec()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值