如何拉伸QTableView最后一列标题

alp*_*ric 4 python qt pyqt

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

在此处输入图片说明

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_())
Run Code Online (Sandbox Code Playgroud)

Amu*_*ebs 5

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

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

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

self.horizo​​ntalHeader().setStretchLastSection(True)