Comment fonctionne exactement addStretch travail dans QBoxLayout?

Je suis en train de faire un PyQt4 tutoriel sur la boîte de mises en page. Mais je ne comprends pas comment addStretch œuvres.

  • Si j'utilise vbox.addStretch(1) et hbox.addStretch(1), les deux boutons apparaissent en bas à droite. Pourquoi?
  • si j'ai fait un commentaire vbox.addStretch(1) et hbox.addStretch(1), les deux boutons s'affichent dans le centre de ma fenêtre, et ils sont déformables horizontalement mais pas verticalement. Pourquoi?
  • theres aucune différence si je change la valeur "1"... donc, quelle est la valeur?

Ci-dessous le code que j'utilise:

import sys
from PyQt4 import QtGui

class BoxLayout(QtGui.QWidget):
    def __init__(self, parent=None):
        QtGui.QWidget.__init__(self, parent)

        self.setWindowTitle('box layout')

        ok = QtGui.QPushButton("OK")
        cancel = QtGui.QPushButton("Cancel")

        vbox = QtGui.QHBoxLayout()
        vbox.addStretch(1)
        vbox.addWidget(ok)
        vbox.addWidget(cancel)

        hbox = QtGui.QVBoxLayout()
        hbox.addStretch(1)
        hbox.addLayout(vbox)

        self.setLayout(hbox)

        self.resize(100, 100)

app = QtGui.QApplication(sys.argv)
qb = BoxLayout()
qb.show()
sys.exit(app.exec_())

OriginalL'auteur Hubschr | 2013-12-08