我想在 QtJambi 中获得QIODevice
代表标准 IO 流(stdin
, stdout
, stderr
)的信息,以便在可以读取或写入新行时收到通知。
问问题
3353 次
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));
(不是 100% 确定 Java 语法,因为我只使用过 Qt/C++。)
但是,如果您想收到通知,这将不起作用。事实上,我怀疑除非你将标准输入/标准输出重定向到支持通知的东西,比如套接字,否则任何事情都会起作用。在这种情况下,您将使用 QAbstractSocket.setSocketDescriptor() 方法。
于 2010-12-15T19:09:03.097 回答