Seite 1 von 1

Textcursor an vorgegebene Zeile springen lassen

Verfasst: 21. Juli 2011 10:42
von aminor
Hey =) ich mal wieder,

gibt es die Möglichkeit bei QT einen Textcursor in einem Textedit auf eine gewünschte Zeile springen zu lassen, nachdem
man einen Knopf gedrückt hat.
Die Möglichkeiten die ich ausprobiert hatte war einen Textcursor erstellen, dem dann mit SetPosition eine position zu teilen
und dem TExtedit dann den Textmarker zu übergeben, allerdings funktioniert das nicht =/
Ein weiteres Problem ist, dass kein Cursor mehr im Text ist sobald man in der Gui einen Knopf drückt.
Hat jemand vlt einen Vorschlag.

Mfg

Aminor

Re: Textcursor an vorgegebene Zeile springen lassen

Verfasst: 21. Juli 2011 15:59
von upsala
Und QTextEdit::setTextCursor hast du auch verwendet?

QWidget::setFocus() könnte auch noch ganz hilfreich sein.

Re: Textcursor an vorgegebene Zeile springen lassen

Verfasst: 22. Juli 2011 11:57
von aminor
Ich hab das ganze mal in Java ausprobiert und da funktioniert es problemlos:

Der Java Code:

zu beachten:
bookmarks ist die Liste der Bookmarks -> QList
bookmarkslist ist eine liste der Positionen der Bookmarks im Textfeld..

Code: Alles auswählen

private AbstractAction getGotoAction() {
		if (gotoAction == null) {
			gotoAction = new AbstractAction("GoTo", null) {
				public void actionPerformed(ActionEvent evt) {

					int index = bookmarks.getSelectedIndex();
					editorbox.setCaretPosition((Integer) bookmarkslist
							.get(index));

				}
			};
		}
		return gotoAction;
	}