Qt 5.3 QTreeView可点击标题数据

时间:2014-07-12 14:53:37

标签: c++ qt

如何在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"));

1 个答案:

答案 0 :(得分:0)

您必须定义QHeaderView的实例,并将其clickable属性设置为true。然后,您可以将点击次数连接到您的广告位。在PySide / PyQt中:

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

它会自动发送单击的部分(列索引)到headerClicked(self,section)。