我想使用textview小部件来显示整个程序中的输出,有一堆cout和printf,我在其中显示特定信息,现在我想在GTK+中使用GUI来显示我在命令外壳上看到的输出。
我在我需要使用 GIOchannel 的某个地方读到,在其他地方,他们只是建议写到 gtk_text_buffer_insert(),问题是后一个函数需要字符指针,我显示双精度和浮点数。选角不起作用,也不应该真正起作用。
我该怎么做?
您可以创建写入小组件的流缓冲区。您将从std::streambuf
将字符串发送到任何小部件函数并使用使用此流缓冲区初始化的std::ostream
派生一个类。如果无法将流传递到使用它的函数,则可以替换std::cout
的流缓冲区(使用 std::cout.rdbuf(&sbuf)
)。但是,如果您还希望这些输出转到您的小部件,则需要替换您的printf()
。