Сделал примитивный класс, унаследованный от QTreeView:
ShortcutSettingsView.h
class ShortcutSettingsView : public QTreeView
{
Q_OBJECT
public:
ShortcutSettingsView(QWidget *parent=nullptr);
protected slots:
void onCurrentChanged(const QModelIndex &index);
};
ShortcutSettingsView.cpp
ShortcutSettingsView::ShortcutSettingsView(QWidget *parent) : QTreeView(parent)
{
connect(this, &ShortcutSettingsView::currentChanged,
this, &ShortcutSettingsView::onCurrentChanged);
}
void ShortcutSettingsView::onCurrentChanged(const QModelIndex &index)
{
qDebug() << "Replace cursor position to 0 column";
this->setCurrentIndex( index.siblingAtColumn(0) );
}
Коннект прописан в новом стиле, который вроде как должен исключать ошибки. Компиляция идет без ошибок и варнингов. Но в момент работы слот не отрабатывает, а в консоли видно:
17:45:30 [WRN] QObject::connect: signal not found in ShortcutSettingsView
Это что за? Как заставить работать коннект? Полная пересборка не помогает (думал, moc_* не обновился).