首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将类似bash的小部件插入到gtk中

将类似bash的小部件插入到gtk中
EN

Stack Overflow用户
提问于 2010-08-12 10:54:03
回答 4查看 1K关注 0票数 1

当您用c编写一个程序时,它有很多printf用于很多目的:调试、信息等。我想在gtk中做一些类似的事情,有一些小部件可以显示我在普通c程序中通常要做的所有printf消息。

谢谢,

-UPDATE-我使用vte作为建议的ptomato。尽管出现了一些问题。我使用的是glade-3,当文件glade打开时,vte小部件没有显示。我注意到在打开时会显示很多警告和2个严重错误。其中一个关键的问题是

代码语言:javascript
复制
Unable to load module 'vte' from any search paths

我通过apt-get安装了libvte-dev,并且知道我在小部件调色板中看到了

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-08-12 15:10:32

您可以使用VTE,这是一个终端模拟器小部件。我不确定,但我认为您可以使用vte_terminal_set_pty()将程序的stdout重定向到小部件。

票数 1
EN

Stack Overflow用户

发布于 2010-08-12 11:21:59

您可以使用asprintf()作为GNU扩展来执行格式化输出,它存储在新分配的内存中,必须在以后释放。

代码语言:javascript
复制
char* str;
asprintf(&str, "It is a number %d\n", 1);
//...
free(str);

相反,您可以使用snprintf(),它不会为您分配任何内容,它只是为您填充一个字符数组(作为格式化输出)。

代码语言:javascript
复制
char str[100];
snprintf(str, 100, "It is number %d\n", 1);

您也可以使用g_string_printf(),它是一个glib函数,但是它将格式化的输出存储到一个GString变量中。

代码语言:javascript
复制
GString str;
g_string_printf(&str, "It is number %d\n", 1);
//...
g_string_free(&str, TRUE);

将字符串作为格式化输出时,可以将其用作任何GTK小部件的文本。

票数 0
EN

Stack Overflow用户

发布于 2010-08-12 11:50:23

您可以创建text view或使用label

将此文本视图添加到父窗口,即Gtk Main window。您可以决定添加哪些其他小部件。(可以是滚动窗口,然后是文本视图)。

每次要显示日志时,都可以使用gtk_text_view_set_buffer接口在窗口上显示文本。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3464430

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档