Qt 5.3 QTreeView可点击头数据

Qt 5.3 QTreeView clickable header data

本文关键字:数据 QTreeView Qt      更新时间:2023-10-16

如何在QTreeView中做可点击列?我如何处理列点击事件?

这是我的代码:

QStandardItemModel* model = new QStandardItemModel(ui->treeView);
ui->treeView->setModel(model);
model->setColumnCount(2);
model->setRowCount(5);
model->setHorizontalHeaderItem(0, new QStandardItem("Title"));
model->setHorizontalHeaderItem(1, new QStandardItem("Year"));
model->setItem(0, 0, new QStandardItem("Black Bullet"));
model->setItem(0, 1, new QStandardItem("2014"));

您必须定义一个QHeaderView的实例,并将其clickable属性设置为true。然后你可以把点击连接到你的插槽。在PySide/PyQt:

horizontalHeaders = self.view.header() #QHeaderView instance
horizontalHeaders.setClickable(True)
horizontalHeaders.sectionClicked.connect(self.headerClicked)

它会自动将点击的section(列索引)发送到headerClicked(self, section)。