Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python PyQt5:网格布局间距问题_Python_Pyqt_Pyqt5_Qgridlayout_Cellspacing - Fatal编程技术网

Python PyQt5:网格布局间距问题

Python PyQt5:网格布局间距问题,python,pyqt,pyqt5,qgridlayout,cellspacing,Python,Pyqt,Pyqt5,Qgridlayout,Cellspacing,我是PyQt5的新手。我正在尝试创建底部带有按钮的单元格网格: g = QGridLayout(window) for i in range(N): for j in range(N): b = QPushButton() g.addWidget(b, i, j, 1, 1) g.addWidget(QPushButton("Last move"), N+4, N//2) 这就是我得到的: 如你所见,按钮会破坏一切。如何去除单元格之间的

我是PyQt5的新手。我正在尝试创建底部带有按钮的单元格网格:

 g = QGridLayout(window)     
 for i in range(N):
    for j in range(N):
        b = QPushButton()
        g.addWidget(b, i, j, 1, 1)
 g.addWidget(QPushButton("Last move"), N+4, N//2)
这就是我得到的:


如你所见,按钮会破坏一切。如何去除单元格之间的空格?

您需要将底部行中的单元格合并在一起,这样按钮就不会有自己的列:

    button = QPushButton("Last move")
    g.addWidget(button, N, 0, 1, N, QtCore.Qt.AlignCenter)

第三个和第四个参数设置单元格的行和列范围。如果您想让按钮伸展整个宽度,请省略最后一个参数。

谢谢!这解决了我的问题,但我不明白按钮是如何影响细胞的。您的原始示例创建了一个6x5网格,按钮添加到中间的列中。该列必须拉伸才能使用按钮,按钮会在其右侧创建所有空白。合并底行的列意味着按钮不会添加到上面单元格块的中间列。相反,它将网格布局的一个单独区域留给自己。