下面是关于PyQt5 QCommandLinkButton的为选中的状态设置边框的完整使用攻略。
PyQt5 QCommandLinkButton
QCommandLinkButton
是一个基于QPushButton
的窗口小部件,用于指定用户在单击按钮时执行的命令。它包含一个命令链接按钮,可在选定的状态下设置边框。
为选中的状态设置边框
在QCommandLinkButton
中,可以使用样式表将边框应用于已选中和未选中的状态。
- 对于已选中状态,可以将样式表应用于
:checked
伪类。 - 对于未选中状态,可以将样式表应用于
:unchecked
伪类。
以下是示例代码:
from PyQt5.QtWidgets import QApplication, QMainWindow, QCommandLinkButton
from PyQt5.QtGui import QColor
from PyQt5.QtCore import Qt
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setGeometry(100, 100, 400, 300)
btn1 = QCommandLinkButton('Button 1', self)
btn1.setGeometry(20, 20, 100, 50)
btn2 = QCommandLinkButton('Button 2', self)
btn2.setGeometry(20, 80, 100, 50)
# apply styles to checked button
checked_style = (
"QCommandLinkButton:checked {"
"border: 2px solid %s;"
"}" % QColor(Qt.green).name()
)
btn1.setStyleSheet(checked_style)
# apply styles to unchecked button
unchecked_style = (
"QCommandLinkButton:unchecked {"
"border: 2px solid %s;"
"}" % QColor(Qt.red).name()
)
btn2.setStyleSheet(unchecked_style)
if __name__ == '__main__':
app = QApplication([])
window = MainWindow()
window.show()
app.exec_()
在这个示例中,我们创建了两个QCommandLinkButton
。然后,我们使用样式表将边框应用于它们的不同状态:
- 对于
btn1
,我们将样式应用于checked
伪类,它将在按钮被选中时显示为一个绿色的边框。 - 对于
btn2
,我们将样式应用于unchecked
伪类,它将在按钮未被选中时显示为一个红色的边框。
在运行示例代码时,您将看到这两个按钮在选中和未选中状态下分别显示不同的边框颜色。
# 示例2:更改按钮状态
from PyQt5.QtWidgets import QApplication, QMainWindow, QCommandLinkButton
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setGeometry(100, 100, 400, 300)
btn = QCommandLinkButton('Button', self)
btn.setGeometry(20, 20, 100, 50)
# set initial state to unchecked
btn.setChecked(False)
# connect a signal to change the button state
btn.clicked.connect(lambda: btn.setChecked(not btn.isChecked()))
if __name__ == '__main__':
app = QApplication([])
window = MainWindow()
window.show()
app.exec_()
在这个示例中,我们创建了一个QCommandLinkButton
,并将其初始状态设置为未选中。然后,我们连接了一个信号,以便在单击按钮时更改其选中状态。
当您运行示例代码时,您将看到按钮在每次单击时切换其选中状态。在选中状态下,它将显示为一个带有绿色边框的按钮,在未选中状态下,它将显示为一个没有边框的按钮。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PyQt5 QCommandLinkButton – 为选中的状态设置边框 - Python技术站