にQTableViewヘッダー名を設定する方法を私は、私は1,2,3として列と行ヘッダ名を取得QTableviewを作成するとき、私はQTableviewはPyqt4
でカスタムヘッダー名を設定することができます方法を知りたいです4。 自分の列とヘッダーのタイトルを設定する方法を知りたい
私は、必要に応じて、solutionを持って、それはあなたがあなたがheaderData()
メソッドを実装する必要があり、独自のモデルとQTableView
を使用している場合は、同じ状況
にQTableViewヘッダー名を設定する方法を私は、私は1,2,3として列と行ヘッダ名を取得QTableviewを作成するとき、私はQTableviewはPyqt4
でカスタムヘッダー名を設定することができます方法を知りたいです4。 自分の列とヘッダーのタイトルを設定する方法を知りたい
私は、必要に応じて、solutionを持って、それはあなたがあなたがheaderData()
メソッドを実装する必要があり、独自のモデルとQTableView
を使用している場合は、同じ状況
出くわすいくつかのいずれかを助けることを願っヘッダーのデータを返すモデル。ここでは、見出しだけを表示するスニペットを使用して、header_labels
の値を変更してヘッダーテキストを変更します。
class TableModel(QAbstractTableModel):
header_labels = ['Column 1', 'Column 2', 'Column 3', 'Column 4']
def __init__(self, parent=None):
QAbstractTableModel.__init__(self, parent)
def headerData(self, section, orientation, role=Qt.DisplayRole):
if role == Qt.DisplayRole and orientation == Qt.Horizontal:
return self.header_labels[section]
return QAbstractTableModel.headerData(self, section, orientation, role)
オリジナルポスターは、(orginally司会者によって削除されましたペーストビンリンクに掲載)ソリューションとして、次のコードを生成:
from PyQt4 import QtCore, QtGui
class myWindow(QtGui.QMainWindow):
def __init__(self, parent=None):
super(myWindow, self).__init__(parent)
self.centralwidget = QtGui.QWidget(self)
self.view = QtGui.QTableView(self.centralwidget)
self.view.setSortingEnabled(True)
self.gridLayout = QtGui.QGridLayout(self.centralwidget)
self.gridLayout.addWidget(self.view, 1, 0, 1, 3)
self.setCentralWidget(self.centralwidget)
self.model = QtGui.QStandardItemModel(self)
for rowName in range(3) * 5:
self.model.invisibleRootItem().appendRow(
[ QtGui.QStandardItem("row {0} col {1}".format(rowName, column))
for column in range(3)
]
)
for column in range(3):
self.model.setHeaderData(column, QtCore.Qt.Horizontal,
'Column %d' % int(column+1))
for row in range(3 * 5):
self.model.setHeaderData(row, QtCore.Qt.Vertical,
'Row %d' % int(row+1))
self.proxy = QtGui.QSortFilterProxyModel(self)
self.proxy.setSourceModel(self.model)
self.view.setModel(self.proxy)
if __name__ == "__main__":
import sys
app = QtGui.QApplication(sys.argv)
main = myWindow()
main.show()
main.resize(400, 600)
sys.exit(app.exec_())
私はとして '' QtGui.QStandardItemModel()を使用しています私は 'QtGui.QTableView()'にリンクしています。実際に 'headerData()'は 'QAbstractItemModel'の仮想関数であり、' QStandardItemModel'は 'QAbstractItemModel'のサブクラスであり、' setHeaderData() ' – Rao
@PBLNarasimhaRaoでヘッダを設定することができます。 http://srinikom.github.io/pyside-docs/PySide/QtCore/QAbstractItemModel.html#PySide.QtCore.PySide.QtCore.QAbstractItemModel.headerData/QAbstractItemModel.html#PySide.QtCore.PySide.QtCore.QAbstractItemModelを確認してください。 headerData](ここ) –