qt 里面使用qscintilla的setCursorPosition无效

正在用qscintilla做一个编辑器,想要实现点击函数声明跳到函数定义的功能,但是setCursorPosition没有反应。

而且只在这一个槽里没有反应。

void MainWindow::jumpDefination(int line,int index, Qt::KeyboardModifiers  state){
     this->textEdit->setCursorPosition(line+1,index);
    qDebug()<<"1";
//    if(QApplication::keyboardModifiers ()   == Qt::ControlModifier){
//        qDebug()<<"2";
//        QString name = textEdit->wordAtLineIndex(line,index),text = textEdit->text(),textLine = textEdit->text(line);
//        QRegExp re;
//        if(textLine.count("{") || textLine.count(";")==0 || textLine.indexOf(QRegExp(name+"\\s*\\(")) == -1)
//            re.setPattern(name);
//        else
//            re .setPattern(name + "\\s*\\([^\\)]*\\)\\s*\\{");
//        int pos = text.indexOf(re);

//        if(pos != -1){
//            int l,i;
//            qDebug()<<"here!";
//            textEdit->lineIndexFromPosition(pos,&l,&i);
//            this->textEdit->setCursorPosition(l,i);
//            textEdit->ensureCursorVisible();
//        }

//    }
}

第二行的qDebug()可以输出。

https://www.cnblogs.com/pozhu15/archive/2019/08/07/11317648.html