6

QIODeviceQtJambi で標準 IO ストリーム ( stdinstdout、 ) を表すものを取得したいと考えてstderrいます。これにより、新しい行が読み書きできるたびに通知を受け取ることができます。

4

1 に答える 1

9

ええと、それらの QIODevice 実装が必要な場合は、次のようなものを使用できます

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

(私は Qt/C++ しか使用していないため、Java 構文については 100% 確信が持てません。)

ただし、通知が必要な場合、これは機能しません。実際、標準入力/標準出力をソケットなどの通知をサポートするものにリダイレクトしない限り、何かが機能するとは思えません。その場合、 QAbstractSocket.setSocketDescriptor() メソッドを使用します。

于 2010-12-15T19:09:03.097 に答える