以下代码使用单个列创建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_())
答案 0 :(得分:4)
您正在寻找的是QHeaderView::setResizeMode
功能。我建议您查看docs,但这里是代码
self.horizontalHeader()。setResizeMode(QtGui.QHeaderView.Stretch)
或者,如果您只想拉伸最少的标题项:
self.horizontalHeader()。setStretchLastSection(真)