如果我想创建一个网格布局没有覆盖整个框架的窗口?我可以通过向网格布局添加水平布局并在水平布局中添加拉伸来做到这一点。当我在下面的代码中尝试它时,我收到了这个错误:
TypeError: PySide.QtGui.QGridLayout.addLayout(): 没有足够的参数
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()
将水平布局添加到垂直布局时不会发生此错误,反之亦然。
谢谢您的帮助!