如何调整QCheckBox的大小

时间:2017-01-21 20:35:12

标签: python pyqt pyqt4 qcheckbox

下面的代码会创建一个Dialog窗口,其中包含两个checkboxes。 第二个复选框被限制为具有setMaximumSize(8, 8)函数的8x8px大小。 但似乎复选框小部件的较小尺寸未应用于十字图标。因此,图标将被复选框小部件的边界剪切。如何确保十字图标与复选框小部件按比例缩放?

enter image description here

from PyQt4 import QtCore, QtGui
app = QtGui.QApplication([])

panel=QtGui.QDialog()
panel.setLayout(QtGui.QVBoxLayout())

checkbox1 = QtGui.QCheckBox()
panel.layout().addWidget(checkbox1)

checkbox2 = QtGui.QCheckBox()
checkbox2.setMaximumSize(8, 8)
panel.layout().addWidget(checkbox2)

panel.show()
app.exec_()

1 个答案:

答案 0 :(得分:1)

在这种情况下,最好使用样式表调整大小:

{your QCheckbox}.setStyleSheet("QCheckBox::indicator { width: npx; height: mpx;}")

完整代码:

import sys

from PyQt4 import QtGui

if __name__ == '__main__':
    app = QtGui.QApplication(sys.argv)

    panel = QtGui.QDialog()
    panel.setLayout(QtGui.QVBoxLayout())

    checkbox1 = QtGui.QCheckBox("normal1")
    panel.layout().addWidget(checkbox1)

    checkbox2 = QtGui.QCheckBox("small")
    checkbox2.setStyleSheet("QCheckBox::indicator { width: 10px; height: 10px;}")
    panel.layout().addWidget(checkbox2)

    checkbox1 = QtGui.QCheckBox("normal2")
    panel.layout().addWidget(checkbox1)

    panel.show()
    sys.exit(app.exec_())

enter image description here