下面的代码创建一个带有两个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_()发布于 2017-01-22 02:34:38
在这种情况下,最好使用样式表调整大小:
{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_())

https://stackoverflow.com/questions/41784184
复制相似问题