【问题标题】:Show certain columns in QTableView在 QTableView 中显示某些列
【发布时间】:2019-03-11 06:31:10
【问题描述】:

假设我有提供 2 个 QTableView 的 QAbstractTableModel。一个表格视图显示模型中的所有数据。请告知我该如何指定另一个 tableview 以仅显示来自同一模型的 2 列。

【问题讨论】:

    标签: python pyqt pyqt5 qtableview qabstracttablemodel


    【解决方案1】:

    一个简单的解决方案是使用QTableViewhideColumn() 方法隐藏列。

    from PyQt5 import QtCore, QtGui, QtWidgets
    
    class Widget(QtWidgets.QWidget):
        def __init__(self, parent=None):
            super(Widget, self).__init__(parent)
    
            model = QtGui.QStandardItemModel(5, 5, self)
            for i in range(model.rowCount()):
                for j in range(model.columnCount()):
                    it = QtGui.QStandardItem("{}-{}".format(i, j))
                    model.setItem(i, j, it)
    
            table_all = QtWidgets.QTableView()
            table_all.setModel(model)
    
            table = QtWidgets.QTableView()
            table.setModel(model)
    
            for column_hidden in (0, 3, 4):
                table.hideColumn(column_hidden)
    
            lay = QtWidgets.QHBoxLayout(self)
            lay.addWidget(table_all)
            lay.addWidget(table)
    
    
    if __name__ == '__main__':
        import sys
    
        app = QtWidgets.QApplication(sys.argv)
        w = Widget()
        w.show()
        sys.exit(app.exec_())
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-03
      • 1970-01-01
      • 1970-01-01
      • 2011-09-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多