Come arrivare esempio QIODevice per stdin, stdout, stderr flussi di testo in QtJambi?
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.
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