Функция слота не вызывается сигналом currentChanged treeView - PullRequest
0 голосов
/ 26 июня 2018

Я хочу вызвать функцию indexChanged(), если индекс в моем treeView изменен. Я использовал сигнал ui->treeView->currentChanged(), но он не вызывал indexChanged() слот, хотя я подключил сигнал к слоту.

Вот мой код:

.cpp файл

TipManager::TipManager(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::TipManager)
{
    ui->setupUi(this);

    connect(ui->treeView->selectionModel(), &QItemSelectionModel::currentChanged, this, &TipManager::indexChanged);

    ...
}

void TipManager::indexChanged(const QModelIndex &current, const QModelIndex &previous)
{
    trimCurrentPath(previous); 
}

.h файл

namespace Ui {
class TipManager;
}

class TipManager : public QWidget
{
    Q_OBJECT

public:
    explicit TipManager(QWidget *parent = 0);
    ~TipManager();

public slots:
    void indexChanged(const QModelIndex &current, const QModelIndex &previous);

private:
    Ui::TipManager *ui;  
    ...
};

Я также тестировал в режиме отладки, но функция слота indexChanged() даже не вызывается. Кроме того, вместо этого отображается следующее сообщение: QObject :: connect: неверный нулевой параметр

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...