📜  PyQt5 |如何制作胶囊形按钮?(1)

📅  最后修改于: 2023-12-03 15:03:59.491000             🧑  作者: Mango

PyQt5 | 如何制作胶囊形按钮?

在 PyQt5 中,可以通过自定义样式表来实现制作胶囊形按钮的效果。

步骤
  1. 创建胶囊形按钮

创建一个 QPushButton 控件,并设置其样式表使其呈现成胶囊形状:

button = QPushButton("按钮")
button.setStyleSheet("""
    QPushButton {
        background-color: #CCC;
        border-style: none;
        border-radius: 10px;
        min-width: 80px;
        padding: 6px;
        color: #FFF;
    }
    QPushButton:hover {
        background-color: #AAA;
    }
""")
  1. 优化边缘效果

修改样式表使得胶囊形边缘的效果更具吸引力:

button.setStyleSheet("""
    QPushButton {
        background-color: #CCC;
        border-style: none;
        border-radius: 10px;
        min-width: 80px;
        padding: 6px;
        color: #FFF;
        qproperty-icon: url(path/to/icon.png);  # 设置按钮图标
    }
    QPushButton:hover {
        background-color: #AAA;
    }
    QPushButton:pressed {
        background-color: #888;
    }
    QPushButton:focus {
        outline: none;
    }
    QPushButton:disabled {
        color: #999;
        background-color: #DDD;
    }
    QPushButton:!flat {
        border-width: 1px;
    }
    QPushButton:default {
        border-color: #AAA;
    }
    QPushButton:checked {
        background-color: #666;
    }
""")
  1. 改变背景和字体颜色

根据需要,可以进一步修改背景和字体的颜色:

button.setStyleSheet("""
    QPushButton {
        background-color: #E57373;
        border-style: none;
        border-radius: 10px;
        min-width: 80px;
        padding: 6px;
        color: #FFF;
    }
    QPushButton:hover {
        background-color: #F44336;
    }
    QPushButton:pressed {
        background-color: #D32F2F;
    }
    QPushButton:focus {
        outline: none;
    }
""")
  1. 调整大小和形状

根据需要,可以进一步调整胶囊形按钮的大小和形状:

button.setMinimumHeight(30)
button.setMinimumWidth(60)
button.setMaximumWidth(120)
button.setStyleSheet("""
    QPushButton {
        background-color: #E57373;
        border-style: none;
        border-radius: 20px;
        min-width: 80px;
        padding: 6px;
        color: #FFF;
    }
    QPushButton:hover {
        background-color: #F44336;
    }
    QPushButton:pressed {
        background-color: #D32F2F;
    }
    QPushButton:focus {
        outline: none;
    }
""")
注意事项
  • 自定义样式表可以实现更多效果的定制,具体可以参考 Qt 的样式表语法文档。
  • 胶囊形按钮的样式可以根据需求进行修改,例如:颜色、边缘效果、大小和形状等。
  • 胶囊形按钮通常用于突出某个操作或者进行某个重要事件的提示,应当合理使用,以免影响用户体验。