问题标签 [gtkbuilder]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
widget - 如何以编程方式将小部件添加到从 GtkBuilder 创建的容器中?
我创建了一个窗口,其中包含一些容器和小部件,我想在运行时动态地将一个新小部件添加到该窗口中的一个 Vbox。所以我有这段代码,它会打开窗口:
然后我创建一个新标签,例如,并将其添加到现有的 Vbox 之一,称为“vbox_mid”,如下所示:
但这似乎不起作用。我在 vbox 中没有看到新标签。我有一种感觉,我在这里遗漏了一些东西,但我看不到它是什么。我想也许有一个特殊的 GtkBuilder 调用来动态添加一个小部件,但我没有看到任何类似的东西。我真的很感激这方面的任何帮助。
python - Python Glade GTKBuilder 复选按钮
如何确定 GTKBuilder Checkbutton 是否被选中?
gtk - 在 glade / Gtkbuilder 中使用自定义小部件
我正在用 Gtk 和 Glade 开发一个应用程序。我的印象是,为你的主窗口创建一个 GtkWindow 的子类是一种常见的做法,但我坚持如何从 GtkBuilder 定义中构造我的子类。有谁知道怎么做?
gtk - 我可以将 gtkbuilder 应用程序加载到“父”gtkbuilder 框架中吗?
我正在使用 Glade-3 构建一套 Gtk 应用程序。
这些应用程序应该有一个共同的外观,我们已经决定了一个所有应用程序将共享的共同“框架”,包括一个菜单栏、工具栏、状态栏、一个垂直面板 - 和中间的空格将由每个应用程序填写。
这个常见的“框架”是使用 Glade-3 设计的,并以 Gtkbuilder 格式保存。
我想做的是也使用 Glade-3 为每个应用程序设计“中间部分”,然后以某种方式将其加载到父框架中。
这样的事情可能吗?我不介意在 Gtk 中重写父框架,因为它相当简单 - 主要内容将在我们肯定想要使用 Glade 设计的应用程序特定细节中。
我没有看到以某种方式获得读取 Gtkbuilder 文件并将其粘贴到父小部件中的结果。
我正在使用 Perl/Gtk2。
c - gtk+ vs glade 生成的 .glade 文件的 c 代码
我是 gtk+ 编程领域的新手。我仍在探索许多可供使用的选项。我将用 C 语言编写代码。我有以下问题:
- 哪个更好?编写代码还是使用 glade 生成的 .glade 文件?
- 哪个更好用?libglade 还是 gtkbuilder?
- 为什么不鼓励在 glade2 中使用 build 选项?
gtk - 我在 glade gtkbuilder 和连接信号方面遗漏了一些明显的东西。帮助?
我用 glade 制作我的界面。效果很好。我编写了一个很小的 main 函数,它调用 gtkbuilder 并渲染 glade 文件中的所有内容。
效果更好。然后我得到我的小部件
怎么办?我发现的每个连接信号处理程序的示例都不是由 gtkbuilder 构建的。如果你实例化你自己的类来表示/处理/渲染一个按钮,很容易将信号处理程序连接到它,但是我使用的是 gtkbuilder,我不知道如何编写一个函数,然后我可以附加到我的小部件,因为我不是创建按钮对象的人,所以 gtkbuilder 是。
我是否让 gtkbutton 的子类编写我的函数然后指向它?但是我的类没有被 gtkbuilder 实例化。
我只是不明白。帮助?
c - 加载 gtk About 对话框时如何避免断言失败?
我已经使用 glade 和 gtk 编写了一个软件 gui。主窗口有一个关于按钮。当我第一次单击该按钮时,GtkAboutDialogBox运行良好。操作区域正确绑定到事件。但是当我关闭它并再次尝试打开关于对话框(没有从主窗口退出)时,什么也没有出现。另外系统会抛出
到壳。这段代码可能有什么问题?
我使用gtkbuilder。我该如何解决?
python - 如何使用 GtkBuilder 重用 gade 文件中的小部件树?
我想即时填充 gtk.notebook。每次用户打开文件时,都会生成一个新的笔记本选项卡。很直接。我的问题是,我使用 glade 来构建 ui,并且 notebook-tab 应该有一个子部件树(scrolledwindow->viewport->alignment->frame)。在我的林间空地文件中,我有一个模板笔记本选项卡,我想多次使用它,这样我就不必用普通的 gtk 对整个树进行编码。使用 libglade,您可以重用小部件树,如 pygtk 常见问题解答中所述:http://faq.pygtk.org/index.py ? file=faq22.011.htp&req=show 。我如何使用 GtkBuilder 做到这一点?
提前致谢,
亚瑟
python - pygtk gtk.Builder.connect_signals 到多个对象?
我正在将一些代码从使用 libglade 更新到 GtkBuilder,这应该是未来的方式。
使用 gtk.glade,您可以glade_xml.signal_autoconnect(...)
重复调用将信号连接到程序中不同窗口对应的不同类的对象上。但是Builder.connect_signals
似乎只工作一次,并且(因此)对传入的第一个类中未定义的任何处理程序发出警告。
我意识到我可以手动连接它们,但这似乎有点费力。(或者就此而言,我可以使用一些 getattr hackery 让它通过代理将它们连接到所有对象......)
没有功能可以跨多个对象连接处理程序,这是一个错误吗?还是我错过了什么?
其他人也有类似的问题http://www.gtkforums.com/about1514.html我认为这意味着无法完成。
python - 如何使用 PyGTK / Gtkbuilder 重复显示对话框?
我创建了一个 PyGTK 应用程序,当用户按下按钮时会显示一个对话框。该对话框在我的方法中加载__init__
:
在事件处理程序中,对话框与 command 一起显示self.myDialog.run()
,但这只能工作一次,因为在run()
对话框被自动销毁之后。如果我再次单击该按钮,应用程序将崩溃。
我读到有一种方法可以使用show()
而不是run()
对话框不被破坏,但我觉得这对我来说不是正确的方法,因为我希望对话框以模态方式运行并仅在用户之后将控制权返回给代码已关闭它。
run()
有没有一种简单的方法可以使用 gtkbuilder的方法重复显示对话框?我尝试使用 gtkbuilder 重新加载整个对话框,但这似乎并没有真正起作用,对话框缺少所有子元素(我希望在程序开始时只使用一次构建器)。
[解决方案](已编辑)
正如下面的答案所指出的,使用hide()
就可以了。我首先以为您仍然需要捕获“删除事件”,但这实际上没有必要。一个有效的简单示例是: