Wie QIODevice Instanz für stdin, stdout, stderr Text-Streams in QtJambi zu bekommen?

StackOverflow https://stackoverflow.com/questions/4453497

  •  10-10-2019
  •  | 
  •  

Frage

Ich möchte QIODevice erhalten, die Standard stellt IO-Streams (stdin, stdout, stderr) in QtJambi, so dass ich benachrichtigt, kann, wenn eine neue Zeile gelesen oder geschrieben werden können.

War es hilfreich?

Lösung

Nun, wenn Sie nur QIODevice Implementierung für diejenigen haben wollen, können Sie so etwas wie

verwenden könnte
QFile stdin = new QFile();
stdin.open(0, new QIODevice.OpenMode(QIODevice.OpenModeFlag.ReadOnly));
QFile stdout = new QFile();
stdout.open(1, new QIODevice.OpenMode(QIODevice.OpenModeFlag.WriteOnly));
QFile stderr = new QFile();
stderr.open(2, new QIODevice.OpenMode(QIODevice.OpenModeFlag.WriteOnly));

(nicht 100% sicher über Java-Syntax, wie ich nur Qt / C ++ verwendet habe.)

Aber wenn Sie Mitteilungen haben wollen, wird dies nicht funktionieren. In der Tat, ich bezweifle, dass alles funktionieren würde, es sei denn, Sie stdin / stdout umgeleiteten etwas haben, dass die Benachrichtigungsfunktion unterstützt, wie eine Steckdose. In diesem Fall würden Sie QAbstractSocket.setSocketDescriptor () -Methode verwenden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top