📅  最后修改于: 2023-12-03 15:03:59.491000             🧑  作者: Mango
在 PyQt5 中,可以通过自定义样式表来实现制作胶囊形按钮的效果。
创建一个 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;
}
""")
修改样式表使得胶囊形边缘的效果更具吸引力:
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;
}
""")
根据需要,可以进一步修改背景和字体的颜色:
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;
}
""")
根据需要,可以进一步调整胶囊形按钮的大小和形状:
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;
}
""")