Wie genau funktioniert addStretch Arbeit in QBoxLayout?

Mache ich eine PyQt4-tutorial über Feld-layouts. Aber ich verstehe nicht, wie addStretch funktioniert.

  • Wenn ich vbox.addStretch(1) und hbox.addStretch(1) die beiden Schaltflächen rechts unten. Warum?
  • wenn ich kommentieren vbox.addStretch(1) und hbox.addStretch(1) aus, werden die beiden Schaltflächen erscheinen in der Mitte von meinem Fenster, und Sie sind verformbar horizontal, aber nicht vertikal. Warum?
  • es gibt keinen Unterschied wenn ich den Wert "1"... also, was bedeutet der Wert?

Unten ist der code, den ich verwende:

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_())

InformationsquelleAutor der Frage Hubschr | 2013-12-08

Schreibe einen Kommentar