如何拉伸QTableView最后一列标题

时间:2014-09-27 01:13:51

标签: python qt pyqt

以下代码使用单个列创建QTableView。如何使标题列沿QTableView视图的整个宽度延伸?

enter image description here

from PyQt4 import QtCore, QtGui
app=QtGui.QApplication(sys.argv)

class TableModel(QtCore.QAbstractTableModel):
    def __init__(self):
        QtCore.QAbstractTableModel.__init__(self)
    def rowCount(self, parent=QtCore.QModelIndex()):   
        return 0
    def columnCount(self, index=QtCore.QModelIndex()):
        return 1
    def headerData(self, column, orientation, role=QtCore.Qt.DisplayRole):
        if role!=QtCore.Qt.DisplayRole:   return QtCore.QVariant()
        if orientation==QtCore.Qt.Horizontal: return QtCore.QVariant('Column Name')      

class TableView(QtGui.QTableView):
    def __init__(self):
        super(TableView, self).__init__()
        model=TableModel()
        self.setModel(model)
        self.show()       

view=TableView()
sys.exit(app.exec_())

1 个答案:

答案 0 :(得分:4)

您正在寻找的是QHeaderView::setResizeMode功能。我建议您查看docs,但这里是代码

  

self.horizo​​ntalHeader()。setResizeMode(QtGui.QHeaderView.Stretch)

或者,如果您只想拉伸最少的标题项:

  

self.horizo​​ntalHeader()。setStretchLastSection(真)