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