Comment obtenir par exemple QIODevice pour stdin, stdout, les flux de texte stderr dans QtJambi?

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

  •  10-10-2019
  •  | 
  •  

Question

Je voudrais obtenir QIODevice qui représente les flux IO standard (stdin, stdout, stderr) dans QtJambi, afin que je puisse être averti à chaque fois peut être lu ou écrit une nouvelle ligne.

Était-ce utile?

La solution

Eh bien, si vous voulez juste avoir la mise en œuvre QIODevice pour ceux-ci, vous pouvez utiliser quelque chose comme

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

(pas sûr à 100% Java syntaxe que je ne l'ai utilisé Qt / C ++.)

Mais si vous voulez avoir des notifications, cela ne fonctionnera pas. En fait, je doute que tout fonctionnerait à moins que vous avez stdin / stdout à quelque chose qui prend en charge les notifications, comme une prise. Dans ce cas, vous souhaitez utiliser la méthode QAbstractSocket.setSocketDescriptor ().

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top