QProcess mit gvim

Alles rund um die Programmierung mit Qt
Antworten
Phoebi
Beiträge: 5
Registriert: 3. Juni 2012 19:26

QProcess mit gvim

Beitrag von Phoebi »

Hallo zusammen,

habe da eine Frage bezüglich externen Prozessen in Qt.
In meiner GUI habe ich 2 textEdit Widgets, in denen unterschiedlicher Text steht, jetzt möchte ich beim drücken einer bestimmten Taste, gvim als externen Prozess starten,
die Texte in zweispaltiger Darstellung öffnen (einen links, einen rechts) und den Textcursor an die Position setzen, an der er in dem TextEdit Widget zuvor war.
Das gvim beim drücken der Taste startet, funktioniert schon mal, nur wie kann ich die Texte darstellen und den Cursor setzen? Ist das überhaupt möglich?
brax
Beiträge: 208
Registriert: 11. Mai 2010 11:22

Re: QProcess mit gvim

Beitrag von brax »

Guck Dir mal die Kommandozeilenparameter für (g)vim an: http://linuxcommand.org/man_pages/gvim1.html

Für Dich interessant scheinen die folgenden zu sein:
[filelist] Eine Liste der zu öffnenden Dateien
+[num] Platziert den Cursor in der mit num angegebenen Zeile in der ersten Datei
-O[N] Öffnet die Dateien in mehreren Fenstern nebeneinander

So oder so wirst Du wohl den Inhalt der QTextEdits zuerst in (temporäre) Dateien schreiben müssen.
Phoebi
Beiträge: 5
Registriert: 3. Juni 2012 19:26

Re: QProcess mit gvim

Beitrag von Phoebi »

Das ist wohl genau das was ich brauche, werde es gleich mal ausprobieren.

Vielen Dank schonmal.
Phoebi
Beiträge: 5
Registriert: 3. Juni 2012 19:26

Re: QProcess mit gvim

Beitrag von Phoebi »

Den Text auszulesen und die Fenster nebeneinander zu öffnen funktioniert.
Nur der Cursor macht noch Probleme.
Also ich habe eine QStringList in der alle Parameter stehen, die gvim benötigt, die sieht so aus: parameters<<"-O"<<"+10"<<"temp.txt"<<"+5"<<"temp2.txt";
Dachte dass so der Cursor in Zeile 10 der ersten Datei und in Zeile 5 in der zweiten Datei platziert wird, aber scheinbar wird das erste Kommando überschrieben und der Cursor steht in der ersten Datei in Zeile 5. Gibts eine Möglichkeit den Fokus auf die zweite Datei zu setzen, nachdem der Cursor in der ersten gesetzt ist, damit der zweite Parameter nicht auch auf die erste Datei angewendet wird?
brax
Beiträge: 208
Registriert: 11. Mai 2010 11:22

Re: QProcess mit gvim

Beitrag von brax »

Da in der Doku zu den Kommandozeilenparametern von vim explizit nur der ersten Datei die Rede ist, würde ich mal vermuten, dass es nicht möglich ist:
For the first file the cursor will be positioned on line "num".
Da das ganze reichlich wenig mit Qt zu tun hat, würde ich Dir auch eher raten, mal die vim-community zu fragen: http://www.vim.org/community.php
Antworten