Come arrivare esempio QIODevice per stdin, stdout, stderr flussi di testo in QtJambi?

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

  •  10-10-2019
  •  | 
  •  

Domanda

Vorrei ottenere QIODevice che rappresenta standard di IO flussi (stdin, stdout, stderr) in QtJambi, in modo che io possa avere una notifica ogni volta che una nuova linea può essere letta o scritta.

È stato utile?

Soluzione

Beh, se si desidera solo avere implementazione QIODevice per quelli, si potrebbe usare qualcosa come

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));

(non al 100% sicuro sulla sintassi Java come ho usato solo Qt / C ++.)

Ma se si vuole avere le notifiche, questo non funzionerà. In effetti, dubito che tutto avrebbe funzionato se non si dispone stdin / stdout a qualcosa che supporti le notifiche, come una presa di corrente. In tal caso ci si utilizza il metodo QAbstractSocket.setSocketDescriptor ().

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top