首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GTK能使用像库这样的读行吗?

GTK能使用像库这样的读行吗?
EN

Stack Overflow用户
提问于 2014-06-24 11:07:28
回答 1查看 378关注 0票数 0

图形化GTK程序是否也有像GNU读出线社论林诺瓦提供的“命令行界面”?

如何处理阻塞gtk_main()调用和从这些库阻塞循环步骤?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-25 19:28:15

显然,可以将一个库(如GNU readline )与图形程序集成起来。最简单的选择是生成一个专门用于读行的线程,并使用g_idle_add (线程安全)与GUI线程进行通信。

如果不想使用线程,可以使用GIO机器(g_io_channel_unix_new()g_io_add_watch())指示GTK循环通知您挂起的输入,并使用设计为事件循环回调的altnernate接口调用readline。Python支持和PyGTK利用这些特性来启用以下功能,所有这些功能都在一个线程中完成:

代码语言:javascript
复制
>>> import gtk
>>> w = gtk.Window()
>>> w.add(gtk.Label("foo"))
>>> w.show_all()       # at this point, a window with label is shown

然而,另一个不同的问题是,您是否希望您的程序在21世纪的终端仿真基础上运行命令行接口。在GTK中,您有一个远远超过readline()的多行编辑工具,称为GtkTextView。使用它构建一个类似命令行的工具是非常简单的(我可能会说,有趣),它在复制粘贴、多行编辑、Unicode、颜色、比例字体、嵌入式图像或在Windows上工作时都没有问题,而且它不依赖神秘的终端代码来引导。

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

https://stackoverflow.com/questions/24385038

复制
相关文章

相似问题

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