问题标签 [gtk3]

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.

0 投票
2 回答
1311 浏览

python - 在 PyGObject/GTK+3 中格式化旋转按钮的显示

我正在将应用程序从 PyGTK 移植到 PyGObject。大多数情况下它进展顺利,因为大多数情况下我用 PyGTK 做了常规的事情。但是我使用了一个有点丑陋的技巧来将 SpinButton 的值显示为货币(前面有一个 $)。

在 Stack Overflow 前几天,我最初从PyGTK 邮件列表中获得了这个解决方案。如您所见,魔术发生在输入和输出信号上:

尽我所能将其翻译成 PyGObject,我想出了:

不幸的是,这不起作用。它最初显示得很好,但是当我单击向上或向下错误时,它崩溃了,我看到:

知道这个错误消息是什么意思吗?

或者我的代码的哪一部分在 PyGObject 下可能不起作用?

或者,更好的是,如何解决这个错误?

或者,更好的是,一个更直接的解决方案来解决我原来的问题(在 SpinButton 内容前显示一个 $)?

0 投票
3 回答
4161 浏览

python - 如何提升一个被 PyGObject 最小化或覆盖的窗口?

我一直在使用PyGTK FAQ中提供的答案,但这似乎不适用于 PyGObject。为方便起见,这里有一个适用于 PyGTK 的测试用例,然后是一个不适用于 PyGObject 的翻译版本。

PyGTK 版本:

PyGObject 版本:

当我单击 PyGObject 版本中的按钮时,没有弹出另一个窗口,并且出现此错误:

所以我想一定有其他方法可以在 PyGObject 中获取 Gdk.window 吗?

还是有一些不同/更好的方式来实现相同的目标?

有任何想法吗?

0 投票
1 回答
1287 浏览

python - GTK3 中文本视图小部件的文本更改信号

如何在 GTK3 框架的文本视图小部件中找出文本何时更改?我认为一定有一个与之相关的信号,但找不到它。比如qt4中有ontextchanged信号,那么GTK中应该也有类似的信号。我正在使用 Python。

0 投票
2 回答
815 浏览

python - pyGObject 透明光标

如何使用 Python GTK3 和 pyGObject 获得透明光标。我已经搜索了互联网高低,但找不到任何东西。我发现了很多使用 pixmap 的示例,但我相信 pyGObject 没有 pixmap。我似乎找不到任何关于替换 pixmap 的文档。帮助我卡住了。

谢谢山姆

0 投票
1 回答
674 浏览

python - 没有 Gtk.main() 的 GTK3 中的 python 解释器中不显示窗口

在 GTK2 中,我喜欢“即时”在解释器(ipython 或普通 python)中构建 gui,并实时查看变化,如下所示:

这将导致显示一个我可以添加对象的窗口。

我改用 Gtk3 部分是因为它是未来,部分是因为我有时使用现在只有 Gtk3 的 Glade。在对 GTK3 执行相同操作时,不会显示窗口:

唉,最后一行之后没有窗口。它不会显示,直到:

我什至尝试过:

什么都没做。

任何想法如何在 GTK3 中实时构建?

谢谢,

纳尼

0 投票
1 回答
399 浏览

gtk - 如何防止 GtkAspectFrame 浪费空间?

上面的GtkBuilder UI 定义创建了一个方形 DrawingArea A。我希望它在其窗口内尽可能大,因此我将Aexpand的属性设置为. 但是,当窗口本身的宽度大于高度时,我想要一个小部件B来填充绘图区域未使用的剩余宽度。基本上,我想要这个:TRUE

但我得到了这个(如果Bexpand设置为FALSE):

或者这个(如果Bexpand设置为TRUE):

如何让 GTK 合作?

0 投票
1 回答
506 浏览

c++ - gtkmm 程序的外观不佳

我正在和我的朋友一起使用 gtkmm 用 C++ 编写一个简单的照片查看器。一切都很顺利,除了我们的应用程序看起来很差,并且与我们 Linux 桌面上的任何其他 GTK+ 应用程序完全不同。如果有人能给我们一些关于我们做错了什么的建议,我们将非常感激。

负责创建窗口的代码在这里(其余在存储库中): https ://github.com/jjkrol/ZPR/blob/master/src/gui.cpp

外观截图:
外观截图

任何帮助将不胜感激,在此先感谢!

0 投票
0 回答
402 浏览

python - python GTK中没有回溯的浮点异常

我有一个正在开发的 GTK python 程序。我需要根据用户正在进行的活动类型来更改窗口的外观。我正在使用一个 Gtk.Grid() 对象,我计划只在需要显示的内容上调用 widget.hide() 并在需要显示更改的内容上调用 widget2.show()。我从来没有做过这样的事情,并且正在尝试。

GUI界面的一个例子是这个

当我单击按钮时,调用我创建的调用 Label1.hide() 等的可迭代对象。该界面是一个水平 Gtk.Box(),左侧是标签网格,右侧是按钮对象.

当我到达最后一个 Label3 然后单击“按钮”按钮时,程序意外退出,输出如下:

没有追溯。我认为它来自 GTK 本身。我正在使用使用 gobject 内省的 GTK3。

什么可能导致异常,有没有办法解决?

我相信我可以通过在乘坐最后一个 (Label3) 对象之前执行 Label4.show() 来解决这个问题。我只是好奇首先是什么原因。

我已经做了很多谷歌搜索,但似乎没有解决这个问题。

谢谢,

纳尼

0 投票
2 回答
1473 浏览

python - 如何在 Python、GTK3 和 PyGObject 中配置 GtkWidget?

我正在为 GTK3 程序创建一个插件。该插件可以在运行时启用或禁用。启用后,它应该在主机程序的给定区域(GtkBin)中填充其 GUI。禁用时,它应将自身从该区域中移除。

这个简单的程序描述了用法:

我希望当插件被禁用时,它添加到主机的所有小部件都应该被正确处理。

我发现这个问题非常相似:GTK 中的 Free object/widget? 它提出gtk_container_removegtk_widget_destroy。但我很担心:

  1. 考虑gtk_container_remove。它删除了宿主容器的直接子容器。就我而言,孩子也是许多其他小部件的组合,它们可能相互引用。删除直接子元素是否足以处理所有小部件?

  2. 考虑gtk_widget_destroy。它是递归的,似乎是我需要的,但也似乎太残酷了。手动销毁小部件真的有必要吗?把这项工作留给参考柜台会更好吗?

我愿意听听这个案例的“最佳实践”。

0 投票
1 回答
2029 浏览

python - 在 Gtk3 中使用 python 将光标更改为沙漏

有人可以提供一个代码片段,可以在 Gtk3 下使用 python 将光标更改为沙漏..?