如何调整 QCheckBox 的大小
How to resize QCheckBox
下面的代码创建了一个 Dialog
window 和两个 checkboxes
。
第二个复选框被限制为 8x8px 大小,具有 setMaximumSize(8, 8)
功能。
但看起来较小尺寸的复选框小部件并未应用于十字图标。所以图标被复选框小部件的边界剪裁。如何确保十字图标与复选框小部件成比例缩放?
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_()
在这种情况下,最好使用样式表调整大小:
{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_())
下面的代码创建了一个 Dialog
window 和两个 checkboxes
。
第二个复选框被限制为 8x8px 大小,具有 setMaximumSize(8, 8)
功能。
但看起来较小尺寸的复选框小部件并未应用于十字图标。所以图标被复选框小部件的边界剪裁。如何确保十字图标与复选框小部件成比例缩放?
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_()
在这种情况下,最好使用样式表调整大小:
{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_())