gpt4 book ai didi

grid - PySide/QT - 如何将水平或垂直布局添加到网格布局

转载 作者:行者123 更新时间:2023-12-05 00:41:19 27 4
gpt4 key购买 nike

如果我想创建一个网格布局没有覆盖整个框架的窗口?我可以通过向网格布局添加水平布局并在水平布局中添加拉伸(stretch)来做到这一点。当我在下面的代码中尝试它时,我收到了这个错误:

TypeError: PySide.QtGui.QGridLayout.addLayout(): not enough arguments


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

将水平布局添加到垂直布局时不会发生此错误,反之亦然。

谢谢您的帮助!

最佳答案

您必须将布局添加到 QGridLayout根据方法签名 here 在特定的行和列.

但在这种情况下,我认为你最好将网格布局添加到 vbox 布局中,反之亦然

或者,您可以使用 QGridLayout.setColumnStretch() 为网格布局中的空列设置列拉伸(stretch)。 .

关于grid - PySide/QT - 如何将水平或垂直布局添加到网格布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18963054/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com