【问题标题】:Add multiple columns inside a tableview cell在 tableview 单元格内添加多个列
【发布时间】:2019-03-22 05:54:38
【问题描述】:

我正在尝试创建一个在单元格中包含一列的表格。有没有一种简单的方法可以将这种设计应用到我正在使用的表格视图中?

这是我现在的代码:

class ColumnsLayout(QWidget):
    def __init__(self, parent=None):
        super(ColumnsLayout, self).__init__(parent)
        table_row = QTableWidget()
        table_row.setColumnCount(3)
        table_row.horizontalHeader().setVisible(False)
        for x in range(0, 3):
            table_row.horizontalHeader().setSectionResizeMode(x, QHeaderView.Stretch)
        layout = QHBoxLayout()
        layout.setContentsMargins(0, 0, 0, 0)
        layout.setSpacing(0)
        layout.addWidget(table_row)
        self.setLayout(layout)
self.ui.fields_tableWidget.setCellWidget(self.current_default_total_row, 2, ColumnsLayout())

【问题讨论】:

    标签: python pyside pyside2


    【解决方案1】:

    您可以使用setSpan() 加入单元格

    from PySide2 import QtWidgets
    
    class ColumnsLayout(QtWidgets.QWidget):
        def __init__(self, parent=None):
            super(ColumnsLayout, self).__init__(parent)
            table_row = QtWidgets.QTableWidget(4, 3)
            table_row.horizontalHeader().hide()
            table_row.setSpan(0, 0, 1, 3)
            for x in range(0, 3):
                table_row.horizontalHeader().setSectionResizeMode(x, QtWidgets.QHeaderView.Stretch)
            layout = QtWidgets.QHBoxLayout(self)
            layout.setContentsMargins(0, 0, 0, 0)
            layout.setSpacing(0)
            layout.addWidget(table_row)
    
    if __name__ == '__main__':
        import sys
        app = QtWidgets.QApplication(sys.argv)
        w = ColumnsLayout()
        w.show()
        sys.exit(app.exec_())
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-16
      • 2013-05-10
      • 2020-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多