PySide/QT - How zum hinzufügen von horizontalen oder vertikalen layout zu einem grid-layout

Wenn ich wollte, um ein Fenster zu erstellen wo ein grid-layout nicht decken den gesamten Rahmen? Könnte ich es durch hinzufügen einer horizontalen layout mit dem grid-layout und hinzufügen eine Strecke zu den horizontalen layout. Wenn ich versuche es in den folgenden code, bekomme ich diesen Fehler:

TypeError: PySide.QtGui.QGridLayout.addLayout(): nicht genug Argumente

import sys
from PySide import QtGui


class Example(QtGui.QWidget):

    def __init__(self):
        super(Example, self).__init__()

        self.initUI()

    def initUI(self):

        names = ['Cls', 'Bck', '', 'Close', '7', '8', '9', '/',
                '4', '5', '6', '*', '1', '2', '3', '-',
                '0', '.', '=', '+']

        hbox = QtGui.QHBoxLayout()
        hbox.addStretch()

        vbox = QtGui.QVBoxLayout()
        vbox.addStretch()
        grid = QtGui.QGridLayout()
        grid.addLayout(vbox)

        self.setLayout(grid)

        self.move(300, 150)
        self.setWindowTitle('Calculator')
        self.show()

def main():

    app = QtGui.QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())


if __name__ == '__main__':
    main()

Dieser Fehler tritt nicht auf, wenn das hinzufügen von einem horizontalen layout ein vertikales layout oder Umgekehrt.

Danke für die Hilfe!

InformationsquelleAutor UrbKr | 2013-09-23
Schreibe einen Kommentar