tablewidget 被下一个 header 覆盖

The tablewidget gets overwritten by the next header

下一组的header覆盖前一组的table。关于如何保护 table 之前的任何想法?我尝试使用垫片,但没有用。还有其他想法可以解决问题吗? 我有一个 header 与例如帐号和姓名。下面我想列出所有的帖子。但是这个程序不仅仅是为了一个帐户。用于记录给定日期的余额的 100 多个帐户。 (例如年底)

from PyQt5.QtWidgets import (QApplication, QComboBox, QDialog, QWidget,
QDialogButtonBox, QFormLayout, QGridLayout, QGroupBox, QHBoxLayout,
QLabel, QLineEdit, QMenu, QMenuBar, QPushButton, QSpinBox, QTextEdit,QScrollArea,
QVBoxLayout,QListWidget,QTableWidget,QTableWidgetItem)

from    PyQt5.QtCore       import Qt, pyqtSlot, pyqtSignal, QSize, QDate


import sys

class Dialog(QDialog):

    def __init__(self,parent=None):
        super().__init__(parent)

        self.setGeometry(64,64, 1000, 400)
        self.setWindowTitle("test")
        self.scrollarea = QScrollArea(self)
        self.scrollarea.setFixedWidth(990)
        self.scrollarea.setWidgetResizable(True)
        widget = QWidget()
        self.scrollarea.setWidget(widget)
        self.layout_SArea = QGridLayout(widget)
        self.layout_All   = QVBoxLayout(self)
        self.layout_All.addWidget(self.scrollarea)

        for i in range(1,20,2):
            self.layout_SArea.addWidget(QLabel("I am the header"),i,0)
            self.tableWidget  = QTableWidget()
            self.tableWidget.setRowCount(10)
            self.tableWidget.setColumnCount(12)
            for x in range(10):
                newitem = QTableWidgetItem()
                newitem.setData( Qt.EditRole,'{:0,.0f}'.format(x))
                newitem.setFlags( Qt.ItemIsSelectable |  Qt.ItemIsEnabled )
                newitem.setTextAlignment(Qt.AlignRight)
                self.tableWidget.setItem(x, 0, newitem)
            self.layout_SArea.addWidget(self.tableWidget,i+1,0,i+1,5)
            
        self.layout_All.addLayout(self.layout_SArea)
    


if __name__ == '__main__':
    app = QApplication(sys.argv)
    dialog = Dialog()
    sys.exit(dialog.exec_())

行跨度参数表示网格中有多少个“行单元格”被项目占用,因此不应使用行 index.

更改为:

    self.layout_SArea.addWidget(self.tableWidget, i+1, 0, <b>1</b>, 5)