PyQt5是Python的一个GUI库,而QCommandLinkButton则是其提供的一个用于创建命令链接按钮的类。QCommandLinkButton的一个特性是,当按钮被按下(clicked)时,其背景颜色会发生变化。而我们可以通过设置被按下状态时的背景色属性,进一步美化按钮效果。
下面是一个完整的用PyQt5创建QCommandLinkButton并设置被按下状态背景色的示例代码:
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QCommandLinkButton
class ButtonWidget(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
# 创建一个QCommandLinkButton
button = QCommandLinkButton("Click me")
# 设置被按下状态时的背景色为红色
button.setStyleSheet("QCommandLinkButton:pressed { background-color: red; }")
# 创建布局并将按钮添加到布局中
layout = QVBoxLayout()
layout.addWidget(button)
self.setLayout(layout)
self.setGeometry(100, 100, 300, 200)
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
button_widget = ButtonWidget()
sys.exit(app.exec_())
上述代码中,我们首先创建了一个名为“ButtonWidget”的QWidget窗口,然后在窗口中添加了一个名为“button”的QCommandLinkButton按钮。接着,我们通过设置样式表的方式,为被按下状态设置了背景颜色为红色。最后,将按钮添加到布局(QVBoxLayout)中,并在QWidget窗口中显示。
下面是另一个示例代码,它创建了两个QCommandLinkButton按钮,其中一个按钮的被按下状态背景色为蓝色,另一个为紫色:
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QCommandLinkButton
class ButtonWidget(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
# 创建两个QCommandLinkButton
button1 = QCommandLinkButton("Click me (blue)")
button2 = QCommandLinkButton("Click me (purple)")
# 设置被按下状态时的背景色
button1.setStyleSheet("QCommandLinkButton:pressed { background-color: blue; }")
button2.setStyleSheet("QCommandLinkButton:pressed { background-color: purple; }")
# 创建布局并将按钮添加到布局中
layout = QVBoxLayout()
layout.addWidget(button1)
layout.addWidget(button2)
self.setLayout(layout)
self.setGeometry(100, 100, 300, 200)
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
button_widget = ButtonWidget()
sys.exit(app.exec_())
在这个例子中,我们创建了两个QCommandLinkButton按钮并将它们添加到布局中。我们通过为每个按钮设置样式表,来使它们的被按下状态背景色分别为蓝色和紫色。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PyQt5 QCommandLinkButton – 为被按下的状态设置背景色 - Python技术站