Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/344.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 如何处理QGridLayout中的表_Python_Pyqt_Qgridlayout - Fatal编程技术网

Python 如何处理QGridLayout中的表

Python 如何处理QGridLayout中的表,python,pyqt,qgridlayout,Python,Pyqt,Qgridlayout,我在QGridLayout中安装两个表时遇到问题。我读过一些例子,认为我已经掌握了。显然,我没有。我就是这样想象的: 所以我认为这个代码应该有效: layout = QGridLayout() layout.addWidget(smalltable, 0, 1, 1, 2) layout.addWidget(bigtable, 1, 0, 4, 4) 但我得到的却是这样的东西: 一种可能的解决方案是使用以下方法设置拉伸系数: 导入系统 从PyQt5.qtwidts导入QApplication

我在QGridLayout中安装两个表时遇到问题。我读过一些例子,认为我已经掌握了。显然,我没有。我就是这样想象的:

所以我认为这个代码应该有效:

layout = QGridLayout()
layout.addWidget(smalltable, 0, 1, 1, 2)
layout.addWidget(bigtable, 1, 0, 4, 4)
但我得到的却是这样的东西:


一种可能的解决方案是使用以下方法设置拉伸系数:

导入系统 从PyQt5.qtwidts导入QApplication、QGridLayout、QTableWidget、QWidget app=QApplication(sys.argv) smalltable=QTableWidget(4,4) bigtable=QTableWidget(5,5) w=QWidget() 布局=QGridLayout(w) layout.addWidget(smalltable、0、1、1、2) layout.addWidget(bigtable,1,0,1,4) layout.setRowStretch(0,1) 布局。setRowStretch(1,4) w、 调整大小(640480) w、 show() sys.exit(app.exec_())

当我运行你的代码时,我没有得到你想要的,但我也没有得到你声称得到的@eyllanesc可能是因为我为所有列设置了固定的大小吗?我已经在我的其他评论中回答了:如果你需要帮助,那么提供MRE;我们不是来猜谜语的谢谢!使用setRowStretch()时,大小表的高度似乎成比例地正确,但它们仍然很奇怪。小桌子现在“向右对齐”。它粘在右上角。@MichaelEvergreen您是在使用我的代码还是在您试图实现我的解决方案的原始代码中看到这种行为的?如果它是第一个,那么如果你提供一个你得到的图像就好了,如果它是第二个,没有任何图像,我就不可能知道是什么产生了错误。为了证明我的解决方案有效,我在回答中添加了一个屏幕截图谢谢!我想我找到原因了。我对一些按钮的“layout.addWidget”进行了注释,这些按钮认为会使这些按钮消失,但实际上它们会停留在左上角。