首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用GtkBuilder创建小部件

使用GtkBuilder创建小部件
EN

Ask Ubuntu用户
提问于 2012-07-01 22:17:18
回答 2查看 1.9K关注 0票数 4

我正在使用Glade设计一个具有小部件的Box,然后在运行时将这些小部件加载到我的UI中。为了在运行时使用小部件创建每个Box,我创建了一个新的GtkBuilder,调用add_from_string从.ui文件Glade创建传入文本,然后在UI中使用从get_object("box1")返回的对象。我知道我可以用代码创建小部件,但现在,我想使用Glade创建的.ui文件。但是,实例化一个新的GtkBuilder对象和我想要创建的每个Box都浪费掉的窗口对象似乎是效率低下的。是否有更有效的方法来加载.ui文件而不创建新的GtkWidget对象和浪费窗口对象?

谢谢,万斯

EN

回答 2

Ask Ubuntu用户

发布于 2012-07-01 22:27:19

如果您想在应用程序运行时用新的小部件填充GUI,那么为它们创建一堆单独的.ui文件和GtkBuilders是完全错误的。从代码中创建一个小部件非常容易。

我假设您使用Python,因为您已经将问题标记为pygtk。

看看一个简单的例子:

代码语言:javascript
复制
from gi.repository import Gtk

以及:

代码语言:javascript
复制
my_window = Gtk.Window()
my_button = Gtk.Button()
my_window.add(my_button)
my_window.show_all()

好吧,它不会真正独立工作,但这就是创建新的小部件的方法。有关特定小部件的详细信息,请转到本教程/文档:http://python-gtk-3-tutorial.readthedocs.org/

票数 2
EN

Ask Ubuntu用户

发布于 2012-07-02 15:20:14

如果您希望在运行时在不同的区域中插入不同的块,您可以构建一个包含大量窗口的glade文件并重新创建它们。举个例子,看看我为另一个问题做了什么。

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

https://askubuntu.com/questions/158446

复制
相关文章

相似问题

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