📜  PyQt5 - 单选按钮的虚线边框(1)

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

PyQt5 - 单选按钮的虚线边框

PyQt5是一款非常流行的Python GUI框架,可轻松创建漂亮,功能齐全且可交互的图形用户界面。

单选按钮(QRadioButton)是其中一个常用的组件。默认情况下,单选按钮有一个虚线边框,随着其获取焦点而聚焦。

本文将介绍如何使用PyQt5移除单选按钮的虚线边框。

实现方法

PyQt5为所有Qt组件提供了StyleSheet属性,用于自定义Qt组件的外观。通过设置QRadioButton的样式表,我们可以控制其边框的表现方式。

radio_button.setStyleSheet("QRadioButton:focus{border:none}")

在上述代码中,我们使用了:focus伪类,该伪类指定了当组件获得焦点时应用的样式。通过设置其边框属性为none,我们成功地将虚线边框从单选按钮中移除。

完整代码
import sys
from PyQt5.QtWidgets import QApplication, QRadioButton, QWidget, QVBoxLayout

class Example(QWidget):

    def __init__(self):
        super().__init__()

        self.initUI()

    def initUI(self):

        vbox = QVBoxLayout()

        # 创建单选按钮
        radio_button1 = QRadioButton('Option 1')
        radio_button2 = QRadioButton('Option 2')

        # 设置样式表
        radio_button1.setStyleSheet("QRadioButton:focus{border:none}")
        radio_button2.setStyleSheet("QRadioButton:focus{border:none}")

        vbox.addWidget(radio_button1)
        vbox.addWidget(radio_button2)

        self.setLayout(vbox)

        self.setGeometry(300, 300, 300, 150)
        self.setWindowTitle('QRadioButton')
        self.show()

if __name__ == '__main__':

    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())
总结

通过使用样式表,我们可以自定义PyQt5组件的外观和表现方式,实现更好的用户体验。使用PyQt5时,您可以尝试不同的样式集,以找到最适合您项目需求的样式。

以上就是从单选按钮中移除虚线边框的教程,希望对您有所帮助!