📜  PyQt - 复选框的填充(1)

📅  最后修改于: 2023-12-03 14:45:45.352000             🧑  作者: Mango

PyQt - 复选框的填充

在 PyQt 中,复选框(QCheckBox)是一种用于允许用户从多个选项中选择一个或多个选项的控件。默认情况下,复选框的填充和文本都是水平对齐的。但是,我们可以使用样式表来自定义复选框的填充样式。

设置复选框的填充

使用样式表设置复选框的填充样式,我们需要使用 padding 属性。 padding 属性定义元素边框与其内部内容之间的空白区域。

在本示例中,我们将设置填充样式,使其具有垂直对齐。

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QCheckBox, QVBoxLayout

class CheckBoxExample(QWidget):
    def __init__(self):
        super().__init__()

        self.initUI()

    def initUI(self):

        cb = QCheckBox('Checkbox', self)

        vbox = QVBoxLayout()
        vbox.addWidget(cb)

        # 设置垂直填充
        vbox.setContentsMargins(50, 50, 50, 50)
        vbox.setSpacing(20)
        cb.setStyleSheet('QCheckBox::indicator { width: 20px; height: 20px; } QCheckBox::indicator:checked { background-color: red; }')

        self.setLayout(vbox)

        self.setGeometry(300, 300, 250, 150)
        self.setWindowTitle('Checkbox Example')
        self.show()

if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = CheckBoxExample()
    sys.exit(app.exec_())

在上述示例中,我们使用样式表设置复选框的填充为一个具有特定高度和宽度的区域。

QCheckBox::indicator 是指标元素的样式类。在此样式表中,我们将宽度设置为 20 个像素,高度设置为 20 个像素,以创建一个正方形区域。

使用 QCheckBox::indicator:checked 样式类,我们可以设置选中复选框时填充颜色的样式。在示例中,当复选框被选中时,我们将其内部颜色设置为红色。

总结

使用样式表可以轻松自定义 PyQt 中的控件。通过设置填充属性,您可以更改复选框、按钮和其他控件的外观。