Search code examples
pythonqtpyqtqwidget

Ignore minimum size when resizing QWidget


Is there a way to make a QWidget (and any subclass of it) completely ignore its minimum size? What I want is for a QPushButton to cut off when it is sized too small, rather than prevent the window from resizing (the default behavior).


Solution

  • You can use:

    button.setSizePolicy(QSizePolicy.Ignored, QSizePolicy.Ignored)
    

    but you'll have to set the initial size yourself.
    Or you can just set the minimum size to a small non-zero value:

    button.setMinimumSize(1,1)
    

    To apply that to all buttons within a widget, you could try to use a style sheet, but the borders don't disappear when the button is at its minimum content size (at least with QGtkStyle on Linux):

    dialog.setStyleSheet("QPushButton { min-height: 0px; min-width: 0px }");