QT Cursor bewegung



  • Guten Abend
    bin nun einige Zeit mit C++ und seit kurzen auch mit QT unterwegs.
    Würde nun gerne in einem QTextEdit meinen Cursor bewegen.
    Nach der QT Doku sollte es doch eigentlich über diese Code Zeile gehen:

    Wahr=ui->Anzeige->textCursor().movePosition(QTextCursor::Up, QTextCursor::MoveAnchor,1);
    

    Nur leider klappt es noch nicht.
    Stehe ein bisschen auf dem Schlauch, in kleiner Tipp wäre nett.
    Doku hab ich schon geschaut, finde jedoch meinen Fehler nicht.
    Gruß



  • Hatte noch eine Code Zeile vergessen hir hinzu kopieren.

    ui->Anzeige->setTextCursor(Cursor);
    


  • Schau dir mal die doku von QTextCursor an. Da gibt es eine Funtkion setPosition.
    Also wirst du für jede änderung ein neues QTextCursor Objekt erstellen müssen und die genwünschte Position setzten.



  • Danke axels.
    aber dass war leider nicht die Lösung .
    Bring nicht dennn erhofften Erfolg.

    Zur Veranschaulichung hier einmal meine ganze Funktion :

    void MainGui::on_lineEdit_returnPressed()
    {
        int Spalte=NULL;
        bool Wahr;
        RohText =ui->lineEdit->text();
        Bearbeiteter_Text = Cl_Textbearbeiten.Textholen(RohText);
        ui->lineEdit->clear();
        Cursor = ui->Anzeige->textCursor();
        ui->Anzeige->append(RohText);
        Spalte = Cursor.blockNumber();
        qDebug() <<Spalte<<"Spalte";
    
        if (Spalte ==3)
            {
            Wahr=ui->Anzeige->textCursor().movePosition(QTextCursor::Down, QTextCursor::MoveAnchor,0);
           Cursor.setPosition(2,QTextCursor::MoveAnchor);
           if (Wahr ==false)
               qDebug()<<"Fehler";
            ui->Anzeige->append("test");
            qDebug() <<Spalte;
            };
    };
    


  • Du musst den Cursor aus Zeile 16 auch wieder an den QTextEdit übergeben.


Anmelden zum Antworten