【问题标题】:How to resize QCheckBox如何调整 QCheckBox 的大小
【发布时间】:2017-01-21 20:35:11
【问题描述】:

下面的代码创建一个带有两个checkboxesDialog 窗口。 第二个复选框使用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_()

【问题讨论】:

    标签: python pyqt pyqt4 qcheckbox


    【解决方案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_())
    

    【讨论】:

    • 当我这样做时,支票的大小保持不变,但盒子变小了。
    • @ErikAronesty 你用的是什么QStyle?,几何特征取决于QStyle,试试app.setStyle("fusion")
    猜你喜欢
    • 2018-02-18
    • 1970-01-01
    • 1970-01-01
    • 2014-01-01
    • 1970-01-01
    • 2011-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多