Как я могу делать кликируемые столбцы в 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)
Он автоматически отправит раздел (индекс столбца), нажав на headerClicked (self, section).