温馨提示×

python qpushbutton的样式继承如何操作

小樊
88
2024-09-06 14:05:11
栏目: 编程语言

在 PyQt5 中,QPushButton 是一个用于创建按钮的类

  1. 首先,确保已经安装了 PyQt5:
pip install pyqt5
  1. 创建一个名为 custom_button.py 的文件,并添加以下代码:
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QPushButton

class CustomButton(QPushButton):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.setStyleSheet("""
            QPushButton {
                background-color: #4CAF50;
                color: white;
                border: none;
                padding: 10px 20px;
                text-align: center;
                text-decoration: none;
                display: inline-block;
                font-size: 16px;
                margin: 4px 2px;
                cursor: pointer;
                border-radius: 12px;
            }

            QPushButton:hover {
                background-color: #45a049;
            }

            QPushButton:pressed {
                background-color: #3e8e41;
            }
        """)

class MainWindow(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        layout = QVBoxLayout()

        button1 = CustomButton("Button 1")
        button2 = CustomButton("Button 2")

        layout.addWidget(button1)
        layout.addWidget(button2)

        self.setLayout(layout)

if __name__ == "__main__":
    app = QApplication(sys.argv)
    main_window = MainWindow()
    main_window.show()
    sys.exit(app.exec_())

在这个示例中,我们创建了一个名为 CustomButton 的自定义按钮类,它继承自 QPushButton。我们使用 setStyleSheet() 方法设置了按钮的样式。然后,在 MainWindow 类中,我们创建了两个 CustomButton 实例,并将它们添加到布局中。

运行此代码,你将看到一个包含两个自定义按钮的窗口。这些按钮具有绿色背景、白色文本和圆角边框。当鼠标悬停在按钮上时,背景颜色会变暗,当按钮被按下时,背景颜色会进一步变暗。

0